@xpack/doxygen2docusaurus 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -1
  3. package/bin/doxygen2docusaurus.js +1 -1
  4. package/dist/cli/main.d.ts +0 -14
  5. package/dist/cli/main.d.ts.map +1 -1
  6. package/dist/cli/main.js +0 -34
  7. package/dist/cli/main.js.map +1 -1
  8. package/dist/docusaurus/cli-options.d.ts +3 -292
  9. package/dist/docusaurus/cli-options.d.ts.map +1 -1
  10. package/dist/docusaurus/cli-options.js +6 -290
  11. package/dist/docusaurus/cli-options.js.map +1 -1
  12. package/dist/docusaurus/generator.d.ts +0 -172
  13. package/dist/docusaurus/generator.d.ts.map +1 -1
  14. package/dist/docusaurus/generator.js +20 -280
  15. package/dist/docusaurus/generator.js.map +1 -1
  16. package/dist/docusaurus/renderers/descriptiontype.d.ts +0 -417
  17. package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
  18. package/dist/docusaurus/renderers/descriptiontype.js +11 -555
  19. package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
  20. package/dist/docusaurus/renderers/docinternalstype.d.ts +0 -132
  21. package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
  22. package/dist/docusaurus/renderers/docinternalstype.js +0 -156
  23. package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
  24. package/dist/docusaurus/renderers/doclisttype.d.ts +0 -22
  25. package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
  26. package/dist/docusaurus/renderers/doclisttype.js +0 -42
  27. package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
  28. package/dist/docusaurus/renderers/doctabletype.d.ts +0 -88
  29. package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
  30. package/dist/docusaurus/renderers/doctabletype.js +1 -113
  31. package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
  32. package/dist/docusaurus/renderers/doctitletype.d.ts +0 -22
  33. package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
  34. package/dist/docusaurus/renderers/doctitletype.js +0 -42
  35. package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
  36. package/dist/docusaurus/renderers/docvariablelisttype.d.ts +0 -44
  37. package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
  38. package/dist/docusaurus/renderers/docvariablelisttype.js +1 -69
  39. package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
  40. package/dist/docusaurus/renderers/docxrefsecttype.d.ts +0 -22
  41. package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
  42. package/dist/docusaurus/renderers/docxrefsecttype.js +0 -38
  43. package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
  44. package/dist/docusaurus/renderers/element-renderer-base.d.ts +0 -74
  45. package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
  46. package/dist/docusaurus/renderers/element-renderer-base.js +0 -64
  47. package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
  48. package/dist/docusaurus/renderers/inctype.d.ts +0 -23
  49. package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
  50. package/dist/docusaurus/renderers/inctype.js +0 -41
  51. package/dist/docusaurus/renderers/inctype.js.map +1 -1
  52. package/dist/docusaurus/renderers/linkedtexttype.d.ts +0 -22
  53. package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
  54. package/dist/docusaurus/renderers/linkedtexttype.js +0 -45
  55. package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
  56. package/dist/docusaurus/renderers/listingtype.d.ts +0 -52
  57. package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
  58. package/dist/docusaurus/renderers/listingtype.js +1 -88
  59. package/dist/docusaurus/renderers/listingtype.js.map +1 -1
  60. package/dist/docusaurus/renderers/paramtype.d.ts +0 -22
  61. package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
  62. package/dist/docusaurus/renderers/paramtype.js +2 -51
  63. package/dist/docusaurus/renderers/paramtype.js.map +1 -1
  64. package/dist/docusaurus/renderers/referencetype.d.ts +0 -23
  65. package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
  66. package/dist/docusaurus/renderers/referencetype.js +0 -38
  67. package/dist/docusaurus/renderers/referencetype.js.map +1 -1
  68. package/dist/docusaurus/renderers/reftexttype.d.ts +0 -22
  69. package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
  70. package/dist/docusaurus/renderers/reftexttype.js +0 -38
  71. package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
  72. package/dist/docusaurus/renderers/reftype.d.ts +0 -22
  73. package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
  74. package/dist/docusaurus/renderers/reftype.js +0 -38
  75. package/dist/docusaurus/renderers/reftype.js.map +1 -1
  76. package/dist/docusaurus/renderers/renderers.d.ts +0 -151
  77. package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
  78. package/dist/docusaurus/renderers/renderers.js +4 -184
  79. package/dist/docusaurus/renderers/renderers.js.map +1 -1
  80. package/dist/docusaurus/renderers/substringtype.d.ts +0 -22
  81. package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
  82. package/dist/docusaurus/renderers/substringtype.js +0 -39
  83. package/dist/docusaurus/renderers/substringtype.js.map +1 -1
  84. package/dist/docusaurus/renderers/tableofcontentstype.d.ts +0 -22
  85. package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
  86. package/dist/docusaurus/renderers/tableofcontentstype.js +0 -39
  87. package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
  88. package/dist/docusaurus/types.d.ts +0 -110
  89. package/dist/docusaurus/types.d.ts.map +1 -1
  90. package/dist/docusaurus/types.js +0 -11
  91. package/dist/docusaurus/types.js.map +1 -1
  92. package/dist/docusaurus/utils.d.ts +0 -214
  93. package/dist/docusaurus/utils.d.ts.map +1 -1
  94. package/dist/docusaurus/utils.js +0 -296
  95. package/dist/docusaurus/utils.js.map +1 -1
  96. package/dist/docusaurus/view-model/classes-vm.d.ts +0 -137
  97. package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
  98. package/dist/docusaurus/view-model/classes-vm.js +9 -225
  99. package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
  100. package/dist/docusaurus/view-model/collection-base.d.ts +0 -120
  101. package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
  102. package/dist/docusaurus/view-model/collection-base.js +11 -101
  103. package/dist/docusaurus/view-model/collection-base.js.map +1 -1
  104. package/dist/docusaurus/view-model/compound-base-vm.d.ts +2 -147
  105. package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
  106. package/dist/docusaurus/view-model/compound-base-vm.js +47 -225
  107. package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
  108. package/dist/docusaurus/view-model/concepts-vm.d.ts +26 -0
  109. package/dist/docusaurus/view-model/concepts-vm.d.ts.map +1 -0
  110. package/dist/docusaurus/view-model/concepts-vm.js +329 -0
  111. package/dist/docusaurus/view-model/concepts-vm.js.map +1 -0
  112. package/dist/docusaurus/view-model/description-anchors.d.ts +0 -58
  113. package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
  114. package/dist/docusaurus/view-model/description-anchors.js +0 -71
  115. package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
  116. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +0 -247
  117. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
  118. package/dist/docusaurus/view-model/files-and-folders-vm.js +61 -353
  119. package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
  120. package/dist/docusaurus/view-model/groups-vm.d.ts +0 -148
  121. package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
  122. package/dist/docusaurus/view-model/groups-vm.js +2 -223
  123. package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
  124. package/dist/docusaurus/view-model/members-vm.d.ts +0 -552
  125. package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
  126. package/dist/docusaurus/view-model/members-vm.js +17 -702
  127. package/dist/docusaurus/view-model/members-vm.js.map +1 -1
  128. package/dist/docusaurus/view-model/namespaces-vm.d.ts +4 -199
  129. package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
  130. package/dist/docusaurus/view-model/namespaces-vm.js +79 -284
  131. package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
  132. package/dist/docusaurus/view-model/options.d.ts +0 -43
  133. package/dist/docusaurus/view-model/options.d.ts.map +1 -1
  134. package/dist/docusaurus/view-model/options.js +0 -57
  135. package/dist/docusaurus/view-model/options.js.map +1 -1
  136. package/dist/docusaurus/view-model/pages-vm.d.ts +0 -115
  137. package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
  138. package/dist/docusaurus/view-model/pages-vm.js +0 -162
  139. package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
  140. package/dist/docusaurus/view-model/tree-entries-vm.d.ts +8 -142
  141. package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
  142. package/dist/docusaurus/view-model/tree-entries-vm.js +54 -174
  143. package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
  144. package/dist/docusaurus/view-model/view-model.d.ts +0 -125
  145. package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
  146. package/dist/docusaurus/view-model/view-model.js +20 -182
  147. package/dist/docusaurus/view-model/view-model.js.map +1 -1
  148. package/dist/docusaurus/workspace.d.ts +1 -126
  149. package/dist/docusaurus/workspace.d.ts.map +1 -1
  150. package/dist/docusaurus/workspace.js +8 -221
  151. package/dist/docusaurus/workspace.js.map +1 -1
  152. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +5 -492
  153. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
  154. package/dist/doxygen/data-model/compounds/compounddef-dm.js +23 -672
  155. package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
  156. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +0 -129
  157. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
  158. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +1 -145
  159. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
  160. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +104 -2848
  161. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
  162. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +73 -3975
  163. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
  164. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +0 -165
  165. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
  166. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +0 -229
  167. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
  168. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +0 -70
  169. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
  170. package/dist/doxygen/data-model/compounds/doxygentype-dm.js +0 -105
  171. package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
  172. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +0 -84
  173. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
  174. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +1 -122
  175. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
  176. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +0 -116
  177. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
  178. package/dist/doxygen/data-model/compounds/inctype-dm.js +3 -155
  179. package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
  180. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +3 -138
  181. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
  182. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +5 -180
  183. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
  184. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +0 -76
  185. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
  186. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +0 -107
  187. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
  188. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +0 -162
  189. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
  190. package/dist/doxygen/data-model/compounds/locationtype-dm.js +4 -203
  191. package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
  192. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +2 -443
  193. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
  194. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +19 -475
  195. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
  196. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +0 -141
  197. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
  198. package/dist/doxygen/data-model/compounds/memberreftype-dm.js +0 -176
  199. package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
  200. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +0 -101
  201. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
  202. package/dist/doxygen/data-model/compounds/membertype-dm.js +0 -115
  203. package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
  204. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +0 -164
  205. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
  206. package/dist/doxygen/data-model/compounds/paramtype-dm.js +0 -208
  207. package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
  208. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +0 -139
  209. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
  210. package/dist/doxygen/data-model/compounds/referencetype-dm.js +2 -175
  211. package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
  212. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +0 -120
  213. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
  214. package/dist/doxygen/data-model/compounds/reftexttype-dm.js +2 -141
  215. package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
  216. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +0 -268
  217. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
  218. package/dist/doxygen/data-model/compounds/reftype-dm.js +4 -326
  219. package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
  220. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +0 -105
  221. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
  222. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +1 -139
  223. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
  224. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +0 -168
  225. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
  226. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +0 -209
  227. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
  228. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +0 -267
  229. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
  230. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +0 -354
  231. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
  232. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +0 -66
  233. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
  234. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +0 -97
  235. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
  236. package/dist/doxygen/data-model/data-model.d.ts +0 -149
  237. package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
  238. package/dist/doxygen/data-model/data-model.js +4 -197
  239. package/dist/doxygen/data-model/data-model.js.map +1 -1
  240. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +0 -115
  241. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
  242. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +4 -129
  243. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
  244. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +0 -87
  245. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
  246. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +0 -118
  247. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
  248. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +0 -253
  249. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
  250. package/dist/doxygen/data-model/doxygen-xml-parser.js +0 -291
  251. package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
  252. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +0 -98
  253. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
  254. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +2 -122
  255. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
  256. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +0 -82
  257. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
  258. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +0 -114
  259. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
  260. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +0 -85
  261. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
  262. package/dist/doxygen/data-model/index/indexmembertype-dm.js +1 -107
  263. package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
  264. package/dist/doxygen/data-model/types.d.ts +0 -104
  265. package/dist/doxygen/data-model/types.d.ts.map +1 -1
  266. package/dist/doxygen/data-model/types.js +0 -52
  267. package/dist/doxygen/data-model/types.js.map +1 -1
  268. package/dist/index.d.ts +4 -16
  269. package/dist/index.d.ts.map +1 -1
  270. package/dist/index.js +4 -42
  271. package/dist/index.js.map +1 -1
  272. package/package.json +45 -51
  273. package/src/cli/main.ts +122 -0
  274. package/src/docusaurus/cli-options.ts +560 -0
  275. package/src/docusaurus/generator.ts +788 -0
  276. package/src/docusaurus/renderers/descriptiontype.ts +1299 -0
  277. package/src/docusaurus/renderers/docinternalstype.ts +354 -0
  278. package/src/docusaurus/renderers/doclisttype.ts +134 -0
  279. package/src/docusaurus/renderers/doctabletype.ts +220 -0
  280. package/src/docusaurus/renderers/doctitletype.ts +77 -0
  281. package/src/docusaurus/renderers/docvariablelisttype.ts +123 -0
  282. package/src/docusaurus/renderers/docxrefsecttype.ts +84 -0
  283. package/src/docusaurus/renderers/element-renderer-base.ts +112 -0
  284. package/src/docusaurus/renderers/inctype.ts +75 -0
  285. package/src/docusaurus/renderers/linkedtexttype.ts +64 -0
  286. package/src/docusaurus/renderers/listingtype.ts +235 -0
  287. package/src/docusaurus/renderers/paramtype.ts +116 -0
  288. package/src/docusaurus/renderers/referencetype.ts +83 -0
  289. package/src/docusaurus/renderers/reftexttype.ts +81 -0
  290. package/src/docusaurus/renderers/reftype.ts +77 -0
  291. package/src/docusaurus/renderers/renderers.ts +756 -0
  292. package/src/docusaurus/renderers/substringtype.ts +53 -0
  293. package/src/docusaurus/renderers/tableofcontentstype.ts +74 -0
  294. package/src/docusaurus/types.ts +187 -0
  295. package/src/docusaurus/utils.ts +409 -0
  296. package/src/docusaurus/view-model/README.md +12 -0
  297. package/src/docusaurus/view-model/classes-vm.ts +1088 -0
  298. package/src/docusaurus/view-model/collection-base.ts +352 -0
  299. package/src/docusaurus/view-model/compound-base-vm.ts +1340 -0
  300. package/src/docusaurus/view-model/concepts-vm.ts +719 -0
  301. package/src/docusaurus/view-model/description-anchors.ts +107 -0
  302. package/src/docusaurus/view-model/files-and-folders-vm.ts +1293 -0
  303. package/src/docusaurus/view-model/groups-vm.ts +548 -0
  304. package/src/docusaurus/view-model/members-vm.ts +1943 -0
  305. package/src/docusaurus/view-model/namespaces-vm.ts +1018 -0
  306. package/src/docusaurus/view-model/options.ts +95 -0
  307. package/src/docusaurus/view-model/pages-vm.ts +342 -0
  308. package/src/docusaurus/view-model/tree-entries-vm.ts +376 -0
  309. package/src/docusaurus/view-model/view-model.ts +513 -0
  310. package/src/docusaurus/workspace.ts +588 -0
  311. package/src/doxygen/data-model/README.md +13 -0
  312. package/src/doxygen/data-model/compounds/compounddef-dm.ts +1156 -0
  313. package/src/doxygen/data-model/compounds/compoundreftype-dm.ts +266 -0
  314. package/src/doxygen/data-model/compounds/descriptiontype-dm.ts +10107 -0
  315. package/src/doxygen/data-model/compounds/docvarlistentrytype-dm.ts +354 -0
  316. package/src/doxygen/data-model/compounds/doxygentype-dm.ts +187 -0
  317. package/src/doxygen/data-model/compounds/enumvaluetype-dm.ts +218 -0
  318. package/src/doxygen/data-model/compounds/inctype-dm.ts +217 -0
  319. package/src/doxygen/data-model/compounds/linkedtexttype-dm.ts +288 -0
  320. package/src/doxygen/data-model/compounds/listofallmemberstype-dm.ts +160 -0
  321. package/src/doxygen/data-model/compounds/locationtype-dm.ts +284 -0
  322. package/src/doxygen/data-model/compounds/memberdeftype-dm.ts +874 -0
  323. package/src/doxygen/data-model/compounds/memberreftype-dm.ts +270 -0
  324. package/src/doxygen/data-model/compounds/membertype-dm.ts +239 -0
  325. package/src/doxygen/data-model/compounds/paramtype-dm.ts +302 -0
  326. package/src/doxygen/data-model/compounds/referencetype-dm.ts +248 -0
  327. package/src/doxygen/data-model/compounds/reftexttype-dm.ts +234 -0
  328. package/src/doxygen/data-model/compounds/reftype-dm.ts +430 -0
  329. package/src/doxygen/data-model/compounds/reimplementtype-dm.ts +201 -0
  330. package/src/doxygen/data-model/compounds/sectiondeftype-dm.ts +330 -0
  331. package/src/doxygen/data-model/compounds/tableofcontentstype-dm.ts +563 -0
  332. package/src/doxygen/data-model/compounds/templateparamlisttype-dm.ts +150 -0
  333. package/src/doxygen/data-model/data-model.ts +377 -0
  334. package/src/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.ts +271 -0
  335. package/src/doxygen/data-model/doxyfile/doxyfiletype-dm.ts +200 -0
  336. package/src/doxygen/data-model/doxygen-xml-parser.ts +522 -0
  337. package/src/doxygen/data-model/index/indexcompoundtype-dm.ts +256 -0
  338. package/src/doxygen/data-model/index/indexdoxygentype-dm.ts +196 -0
  339. package/src/doxygen/data-model/index/indexmembertype-dm.ts +230 -0
  340. package/src/doxygen/data-model/types.ts +175 -0
  341. package/src/doxygen/data-model/xsds/README.md +6 -0
  342. package/src/doxygen/data-model/xsds/compound.xsd +1699 -0
  343. package/src/doxygen/data-model/xsds/doxyfile.xsd +355 -0
  344. package/src/doxygen/data-model/xsds/index.xsd +72 -0
  345. package/src/doxygen/data-model/xsds/xml.xsd +23 -0
  346. package/src/index.ts +261 -0
  347. package/src/tsconfig.json +10 -0
  348. package/dist/doxygen2docusaurus.d.ts +0 -4774
  349. package/dist/tsconfig.tsbuildinfo +0 -1
  350. package/dist/tsdoc-metadata.json +0 -11
@@ -1,4774 +0,0 @@
1
- /**
2
- * A CLI application to convert Doxygen XML files into Docusaurus
3
- * documentation.
4
- *
5
- * @remarks
6
- * This tool facilitates the integration of Doxygen reference pages into
7
- * Docusaurus documentation sites. It parses Doxygen-generated XML files and
8
- * produces Docusaurus `.md` documents, along with the corresponding sidebars
9
- * and menu entries.
10
- *
11
- * @packageDocumentation
12
- */
13
-
14
- import { XMLParser } from 'fast-xml-parser';
15
-
16
- /**
17
- * Abstract base class for code line elements with syntax highlighting support.
18
- *
19
- * @remarks
20
- * Implements the XML Schema definition for codelineType elements, which
21
- * represent individual lines of source code within program listings. Each
22
- * code line may contain syntax highlighting information, line numbers,
23
- * cross-references to documentation elements, and external link indicators.
24
- *
25
- * All attributes are optional according to the schema, allowing for flexible
26
- * representation of code content ranging from simple text lines to fully
27
- * annotated source code with comprehensive metadata.
28
- *
29
- * @public
30
- */
31
- export declare abstract class AbstractCodeLineType extends AbstractDataModelBase {
32
- /**
33
- * Array of syntax highlighting elements within the code line.
34
- *
35
- * @remarks
36
- * Contains highlight elements that provide syntax colouring information
37
- * for different parts of the code line. Each highlight element specifies
38
- * a highlight class (such as keyword, comment, or string literal) and
39
- * the corresponding text content to be styled.
40
- */
41
- highlights?: HighlightDataModel[] | undefined;
42
- /**
43
- * Optional line number for the code line.
44
- *
45
- * @remarks
46
- * Specifies the line number of this code line within the source file.
47
- * This attribute enables line-based navigation and referencing within
48
- * the documentation system.
49
- */
50
- lineno?: number | undefined;
51
- /**
52
- * Optional reference identifier for cross-linking.
53
- *
54
- * @remarks
55
- * Contains a reference ID that can be used to create hyperlinks to
56
- * related documentation elements such as function definitions, variable
57
- * declarations, or other documented entities.
58
- */
59
- refid?: string | undefined;
60
- /**
61
- * Optional reference kind classification.
62
- *
63
- * @remarks
64
- * Specifies the type of reference represented by the refid attribute,
65
- * such as compound, member, or other Doxygen reference kinds. This
66
- * classification assists in determining the appropriate link target
67
- * and display behaviour.
68
- */
69
- refkind?: string | undefined;
70
- /**
71
- * Optional flag indicating external reference status.
72
- *
73
- * @remarks
74
- * When true, indicates that the reference points to an external
75
- * documentation source rather than an element within the current
76
- * documentation set. This flag influences link generation and
77
- * navigation behaviour.
78
- */
79
- external?: boolean | undefined;
80
- /**
81
- * Constructs an AbstractCodeLineType instance from XML element data.
82
- *
83
- * @param xml - The Doxygen XML parser instance for processing XML content
84
- * @param element - The XML element object containing the code line data
85
- * @param elementName - The name of the XML element being processed
86
- *
87
- * @remarks
88
- * This constructor processes code line elements by extracting highlight
89
- * children and optional attributes including line numbers, reference IDs,
90
- * reference kinds, and external flags. The parser handles empty code
91
- * lines gracefully whilst ignoring textual content that may appear
92
- * between structured highlight elements.
93
- */
94
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
95
- }
96
-
97
- /**
98
- * Abstract base class for Doxygen compound definition data models.
99
- *
100
- * @remarks
101
- * Represents the core structure of compound definitions in Doxygen XML output,
102
- * including classes, structures, files, namespaces, and other compound types.
103
- * This class handles the complete XML schema for compound definitions with
104
- * comprehensive element and attribute processing to capture all aspects of
105
- * the documented code structures.
106
- *
107
- * @public
108
- */
109
- export declare abstract class AbstractCompoundDefType extends AbstractDataModelBase {
110
- /**
111
- * The name of the compound element.
112
- *
113
- * @remarks
114
- * Contains the fully qualified name of the compound (class, namespace,
115
- * file, etc.) as extracted from the 'compoundname' XML element. This
116
- * represents the primary identifier for the compound in the documentation
117
- * hierarchy and is mandatory for all compound types except namespaces.
118
- */
119
- compoundName: string;
120
- /**
121
- * Optional title for the compound.
122
- *
123
- * @remarks
124
- * Provides a human-readable title for the compound that may differ from
125
- * the compound name. This is typically used for pages and groups where
126
- * a descriptive title is more appropriate than the technical identifier.
127
- */
128
- title?: string | undefined;
129
- /**
130
- * Brief description of the compound.
131
- *
132
- * @remarks
133
- * Contains a concise summary description of the compound extracted from
134
- * the 'briefdescription' XML element. This provides a short overview
135
- * suitable for listings and summary views of the documented entity.
136
- */
137
- briefDescription?: BriefDescriptionDataModel | undefined;
138
- /**
139
- * Detailed description of the compound.
140
- *
141
- * @remarks
142
- * Contains comprehensive documentation for the compound extracted from
143
- * the 'detaileddescription' XML element. This includes full description
144
- * text with formatting, examples, and other detailed documentation
145
- * content.
146
- */
147
- detailedDescription?: DetailedDescriptionDataModel | undefined;
148
- /**
149
- * Base compound references for inheritance relationships.
150
- *
151
- * @remarks
152
- * Contains references to base classes or parent compounds from which
153
- * this compound inherits. This property captures the inheritance
154
- * hierarchy information extracted from 'basecompoundref' XML elements
155
- * for object-oriented documentation structures.
156
- */
157
- baseCompoundRefs?: BaseCompoundRefDataModel[] | undefined;
158
- /**
159
- * Derived compound references for inheritance relationships.
160
- *
161
- * @remarks
162
- * Contains references to derived classes or child compounds that inherit
163
- * from this compound. This property captures the inheritance hierarchy
164
- * information extracted from 'derivedcompoundref' XML elements for
165
- * complete inheritance documentation.
166
- */
167
- derivedCompoundRefs?: DerivedCompoundRefDataModel[] | undefined;
168
- /**
169
- * Include file references for this compound.
170
- *
171
- * @remarks
172
- * Contains information about header files or modules that this compound
173
- * includes or depends upon. This property captures dependency
174
- * relationships extracted from 'includes' XML elements, providing
175
- * visibility into the file inclusion structure.
176
- */
177
- includes?: IncludesDataModel[] | undefined;
178
- /**
179
- * Reverse include file references for this compound.
180
- *
181
- * @remarks
182
- * Contains information about other files or compounds that include this
183
- * compound. This property captures reverse dependency relationships
184
- * extracted from 'includedby' XML elements, showing which entities
185
- * depend on this compound.
186
- */
187
- includedBy?: IncludedByDataModel[] | undefined;
188
- /**
189
- * Template parameter list for templated compounds.
190
- *
191
- * @remarks
192
- * Contains the template parameter definitions for templated classes,
193
- * functions, or other templated entities. This property captures
194
- * template information extracted from 'templateparamlist' XML elements,
195
- * providing details about generic programming constructs.
196
- */
197
- templateParamList?: TemplateParamListDataModel | undefined;
198
- /**
199
- * Section definitions within the compound.
200
- *
201
- * @remarks
202
- * Contains organised sections of members and documentation within the
203
- * compound. This property captures structured content extracted from
204
- * 'sectiondef' XML elements, providing hierarchical organisation of
205
- * compound members by type and visibility.
206
- */
207
- sectionDefs?: SectionDefDataModel[] | undefined;
208
- /**
209
- * Table of contents for the compound documentation.
210
- *
211
- * @remarks
212
- * Contains the navigation structure for complex compound documentation.
213
- * This property captures hierarchical content organisation extracted
214
- * from 'tableofcontents' XML elements, providing structured navigation
215
- * for large documentation entities.
216
- */
217
- tableOfContents?: TableOfContentsDataModel | undefined;
218
- /**
219
- * Inner folder references contained within this compound.
220
- *
221
- * @remarks
222
- * Contains references to subdirectories or folders that are logically
223
- * contained within this compound. This property captures hierarchical
224
- * folder structure extracted from 'innerdir' XML elements, typically
225
- * used for directory-based documentation organisation.
226
- */
227
- innerDirs?: InnerDirDataModel[] | undefined;
228
- /**
229
- * Inner file references contained within this compound.
230
- *
231
- * @remarks
232
- * Contains references to files that are logically contained within this
233
- * compound. This property captures file relationships extracted from
234
- * 'innerfile' XML elements, providing visibility into compound-to-file
235
- * associations in the documentation structure.
236
- */
237
- innerFiles?: InnerFileDataModel[] | undefined;
238
- /**
239
- * Inner class references contained within this compound.
240
- *
241
- * @remarks
242
- * Contains references to classes, structures, or other class-like
243
- * entities that are defined within this compound. This property captures
244
- * nested type relationships extracted from 'innerclass' XML elements,
245
- * supporting hierarchical type documentation.
246
- */
247
- innerClasses?: InnerClassDataModel[] | undefined;
248
- /**
249
- * Inner namespace references contained within this compound.
250
- *
251
- * @remarks
252
- * Contains references to namespaces that are nested within this compound.
253
- * This property captures namespace hierarchy relationships extracted from
254
- * 'innernamespace' XML elements, supporting multi-level namespace
255
- * documentation organisation.
256
- */
257
- innerNamespaces?: InnerNamespaceDataModel[] | undefined;
258
- /**
259
- * Inner page references contained within this compound.
260
- *
261
- * @remarks
262
- * Contains references to documentation pages that are logically
263
- * associated with this compound. This property captures page
264
- * relationships extracted from 'innerpage' XML elements, supporting
265
- * structured documentation navigation.
266
- */
267
- innerPages?: InnerPageDataModel[] | undefined;
268
- /**
269
- * Inner group references contained within this compound.
270
- *
271
- * @remarks
272
- * Contains references to documentation groups that are associated with
273
- * this compound. This property captures group relationships extracted
274
- * from 'innergroup' XML elements, supporting thematic organisation of
275
- * related documentation elements.
276
- */
277
- innerGroups?: InnerGroupDataModel[] | undefined;
278
- /**
279
- * Program listing or source code for the compound.
280
- *
281
- * @remarks
282
- * Contains the actual source code implementation or listing for the
283
- * compound when available. This property captures code content extracted
284
- * from 'programlisting' XML elements, providing syntax-highlighted
285
- * source code display in the documentation.
286
- */
287
- programListing?: ProgramListingDataModel | undefined;
288
- /**
289
- * Location information for the compound definition.
290
- *
291
- * @remarks
292
- * Contains file path, line number, and other location details for where
293
- * the compound is defined in the source code. This property captures
294
- * location metadata extracted from 'location' XML elements, enabling
295
- * source code navigation and reference linking.
296
- */
297
- location?: LocationDataModel | undefined;
298
- /**
299
- * Complete list of all members contained in the compound.
300
- *
301
- * @remarks
302
- * Contains a comprehensive list of all members (methods, properties,
303
- * etc.) that belong to this compound, including inherited members.
304
- * This property captures member information extracted from
305
- * 'listofallmembers' XML elements for complete API documentation.
306
- */
307
- listOfAllMembers?: ListOfAllMembersDataModel | undefined;
308
- /**
309
- * Unique identifier for the compound.
310
- *
311
- * @remarks
312
- * Contains the unique ID assigned to this compound by Doxygen for
313
- * cross-referencing and linking purposes. This identifier is mandatory
314
- * and serves as the primary key for compound identification throughout
315
- * the documentation system.
316
- */
317
- id: string;
318
- /**
319
- * The kind or type of compound.
320
- *
321
- * @remarks
322
- * Specifies the compound type using DoxCompoundKind enumeration values
323
- * such as 'class', 'struct', 'file', 'namespace', 'page', etc. This
324
- * mandatory attribute determines how the compound should be processed
325
- * and displayed in the documentation output.
326
- */
327
- kind: string;
328
- /**
329
- * Programming language of the compound.
330
- *
331
- * @remarks
332
- * Specifies the programming language using DoxLanguage enumeration
333
- * values when the compound is language-specific. This optional attribute
334
- * enables language-aware processing and appropriate syntax highlighting
335
- * in the generated documentation.
336
- */
337
- language?: string | undefined;
338
- /**
339
- * Protection level of the compound.
340
- *
341
- * @remarks
342
- * Specifies the access protection level (public, private, protected)
343
- * for the compound using DoxProtectionKind enumeration values. Note
344
- * that whilst this attribute is not marked as optional in the XML
345
- * schema, it may not be present in all compound definitions.
346
- */
347
- prot?: string | undefined;
348
- /**
349
- * Indicates whether the compound is marked as final.
350
- *
351
- * @remarks
352
- * Specifies that the compound cannot be inherited from or extended,
353
- * typically used in object-oriented programming languages that support
354
- * final classes or sealed types. This boolean attribute reflects the
355
- * final modifier in the source code.
356
- */
357
- final?: boolean | undefined;
358
- /**
359
- * Indicates whether the compound is inline.
360
- *
361
- * @remarks
362
- * Specifies that the compound is defined inline, typically used for
363
- * functions, methods, or other constructs that are implemented directly
364
- * in header files. This boolean attribute reflects inline declarations
365
- * in the source code.
366
- */
367
- inline?: boolean | undefined;
368
- /**
369
- * Indicates whether the compound is sealed.
370
- *
371
- * @remarks
372
- * Specifies that the compound is sealed and cannot be inherited from,
373
- * similar to final but using different language-specific terminology.
374
- * This boolean attribute reflects sealed modifiers found in languages
375
- * like C# or other object-oriented programming environments.
376
- */
377
- sealed?: boolean | undefined;
378
- /**
379
- * Indicates whether the compound is abstract.
380
- *
381
- * @remarks
382
- * Specifies that the compound is abstract and cannot be instantiated
383
- * directly, typically requiring concrete implementations of abstract
384
- * methods or properties. This boolean attribute reflects abstract
385
- * modifiers in object-oriented programming languages.
386
- */
387
- abstract?: boolean | undefined;
388
- /**
389
- * Constructs a new compound definition data model instance.
390
- *
391
- * @remarks
392
- * Parses the complete XML structure for compound definitions, processing
393
- * all elements and attributes according to the Doxygen XML schema. This
394
- * includes handling optional and mandatory elements, complex nested
395
- * structures, and comprehensive attribute validation to ensure data
396
- * integrity throughout the parsing process.
397
- *
398
- * @param xml - The XML parser instance for processing elements
399
- * @param element - The XML element object to parse
400
- * @param elementName - The name of the XML element being processed
401
- */
402
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
403
- }
404
-
405
- /**
406
- * Abstract base class for compound reference data models.
407
- *
408
- * @remarks
409
- * Represents references to other compound entities in Doxygen XML output,
410
- * including inheritance relationships and cross-references. This class
411
- * handles the 'compoundRefType' XML schema structure with text content
412
- * and attributes for protection level, virtual specification, and optional
413
- * reference identifiers.
414
- *
415
- * @public
416
- */
417
- export declare abstract class AbstractCompoundRefType extends AbstractDataModelBase {
418
- /**
419
- * The name or identifier text of the referenced compound.
420
- *
421
- * @remarks
422
- * Contains the textual content extracted from the compound reference XML
423
- * element, typically representing the name of the referenced class,
424
- * structure, or other compound entity. This text content serves as the
425
- * primary identifier for the referenced compound in inheritance
426
- * relationships and cross-references.
427
- */
428
- text: string;
429
- /**
430
- * Protection level of the compound reference.
431
- *
432
- * @remarks
433
- * Specifies the access protection level using DoxProtectionKind
434
- * enumeration values ('public', 'protected', 'private', 'package').
435
- * This mandatory attribute determines the visibility and accessibility
436
- * of the referenced compound in inheritance relationships.
437
- */
438
- prot: string;
439
- /**
440
- * Virtual specification of the compound reference.
441
- *
442
- * @remarks
443
- * Specifies the virtual nature using DoxVirtualKind enumeration values
444
- * ('non-virtual', 'virtual', 'pure-virtual'). This mandatory attribute
445
- * indicates whether the compound reference involves virtual inheritance
446
- * or virtual methods in object-oriented programming contexts.
447
- */
448
- virt: string;
449
- /**
450
- * Optional reference identifier for cross-linking.
451
- *
452
- * @remarks
453
- * Contains the unique identifier that can be used to create hyperlinks
454
- * or cross-references to the referenced compound's documentation. When
455
- * present, this identifier enables navigation between related compound
456
- * definitions in the generated documentation.
457
- */
458
- refid?: string | undefined;
459
- /**
460
- * Constructs a new compound reference data model instance.
461
- *
462
- * @remarks
463
- * Parses compound reference elements from Doxygen XML output, extracting
464
- * the text content representing the compound name and processing attributes
465
- * for protection level, virtual specification, and optional reference
466
- * identifier. This provides the foundation for inheritance and
467
- * cross-reference relationships in the documentation structure.
468
- *
469
- * @param xml - The XML parser instance for processing elements
470
- * @param element - The XML element object to parse
471
- * @param elementName - The name of the XML element being processed
472
- */
473
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
474
- }
475
-
476
- /**
477
- * Abstract base class for all data model elements in the Doxygen XML layer.
478
- *
479
- * @remarks
480
- * Provides the common interface and properties for all data model elements
481
- * parsed from Doxygen XML files. All concrete data model classes should
482
- * extend this base class to ensure consistent structure and behaviour.
483
- *
484
- * @public
485
- */
486
- export declare abstract class AbstractDataModelBase {
487
- /**
488
- * The name of the XML element represented by this data model instance.
489
- *
490
- * @remarks
491
- * Used to identify the XML element type for this data model object.
492
- */
493
- elementName: string;
494
- /**
495
- * Indicates whether paragraph processing should be skipped for this element.
496
- *
497
- * @remarks
498
- * Optional property used to control paragraph handling during documentation
499
- * generation. If true, paragraph tags are not generated for this element.
500
- */
501
- skipPara?: boolean;
502
- /**
503
- * The child elements or text nodes contained within this data model element.
504
- *
505
- * @remarks
506
- * Contains an array of child elements or text nodes, supporting recursive
507
- * data model structures for complex XML hierarchies.
508
- */
509
- children?: (string | AbstractDataModelBase)[];
510
- /**
511
- * Constructs a new data model base instance for a given XML element name.
512
- *
513
- * @param elementName - The name of the XML element represented by this
514
- * instance
515
- *
516
- * @remarks
517
- * Initialises the base data model with the specified element name. All
518
- * derived data model classes should call this constructor.
519
- */
520
- constructor(elementName: string);
521
- }
522
-
523
- /**
524
- * Abstract base class for Doxygen description elements containing mixed
525
- * content.
526
- *
527
- * @remarks
528
- * Implements the XML Schema definition for descriptionType elements, which
529
- * support mixed content (character data between child elements). This class
530
- * handles the complex structure of documentation descriptions including
531
- * titles, paragraphs, internal sections, and hierarchical section elements.
532
- *
533
- * The implementation processes the sequence of optional title elements
534
- * followed by various documentation components such as paragraphs, internal
535
- * documentation, and nested section structures up to level 1.
536
- *
537
- * @public
538
- */
539
- export declare abstract class AbstractDescriptionType extends AbstractDataModelBase {
540
- /**
541
- * Optional title element for the description.
542
- *
543
- * @remarks
544
- * Contains the title text for the description section when present.
545
- * According to the XML schema, only one title element is permitted
546
- * per description, hence the assertion that ensures uniqueness during
547
- * parsing.
548
- */
549
- title?: string | undefined;
550
- /**
551
- * Constructs an AbstractDescriptionType instance from XML element data.
552
- *
553
- * @param xml - The Doxygen XML parser instance for processing XML content
554
- * @param element - The XML element object containing the description data
555
- * @param elementName - The name of the XML element being processed
556
- *
557
- * @remarks
558
- * This constructor processes mixed content descriptions by iterating through
559
- * all inner elements and handling text nodes, title elements, paragraphs,
560
- * internal sections, and level-1 sections. The parser maintains the
561
- * original order of elements in the children array whilst extracting
562
- * the title into a separate property for convenient access.
563
- */
564
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
565
- }
566
-
567
- /**
568
- * Abstract base class for image elements within documentation content.
569
- *
570
- * @remarks
571
- * Represents image elements that can be embedded within documentation
572
- * descriptions and content blocks. This implementation processes Doxygen's
573
- * image elements, which support multiple output formats (HTML, LaTeX,
574
- * DocBook, RTF, XML) and provide comprehensive image metadata including
575
- * dimensions, captions, alternative text, and inline positioning.
576
- *
577
- * Image elements support mixed content with text and formatting commands,
578
- * allowing for rich image descriptions and captions. The class tracks HTML
579
- * images specifically for asset copying during documentation generation.
580
- *
581
- * @public
582
- */
583
- export declare abstract class AbstractDocImageType extends AbstractDataModelBase {
584
- /**
585
- * Output format type for the image.
586
- *
587
- * @remarks
588
- * Specifies the target output format for the image, such as 'html',
589
- * 'latex', 'docbook', 'rtf', or 'xml'. This determines how the image
590
- * should be processed and rendered in different documentation outputs.
591
- */
592
- type?: string | undefined;
593
- /**
594
- * Name or path of the image file.
595
- *
596
- * @remarks
597
- * Contains the filename or path to the image resource. For HTML images,
598
- * this typically references files that need to be copied to the output
599
- * folder during documentation generation.
600
- */
601
- name?: string | undefined;
602
- /**
603
- * Width specification for the image.
604
- *
605
- * @remarks
606
- * Specifies the desired width for the image rendering. The format and
607
- * units depend on the target output format and may include CSS-style
608
- * dimensions or format-specific measurements.
609
- */
610
- width?: string | undefined;
611
- /**
612
- * Height specification for the image.
613
- *
614
- * @remarks
615
- * Specifies the desired height for the image rendering. The format and
616
- * units depend on the target output format and may include CSS-style
617
- * dimensions or format-specific measurements.
618
- */
619
- height?: string | undefined;
620
- /**
621
- * Alternative text for accessibility and fallback purposes.
622
- *
623
- * @remarks
624
- * Provides descriptive text for the image that can be used by screen
625
- * readers and displayed when the image cannot be loaded. This supports
626
- * accessibility requirements and fallback presentation.
627
- */
628
- alt?: string | undefined;
629
- /**
630
- * Inline positioning flag for the image.
631
- *
632
- * @remarks
633
- * Determines whether the image should be rendered inline with text
634
- * content or as a block-level element. Inline images flow with text
635
- * whilst block images create separate content sections.
636
- */
637
- inline?: boolean | undefined;
638
- /**
639
- * Caption text for the image.
640
- *
641
- * @remarks
642
- * Provides descriptive caption text that accompanies the image display.
643
- * Captions typically appear below or adjacent to the image and provide
644
- * additional context or explanation for the visual content.
645
- */
646
- caption?: string | undefined;
647
- /**
648
- * Constructs an AbstractDocImageType instance from XML element data.
649
- *
650
- * @param xml - The Doxygen XML parser instance for processing XML content
651
- * @param element - The XML element object containing the image data
652
- * @param elementName - The name of the XML element being processed
653
- *
654
- * @remarks
655
- * This constructor processes image elements by extracting all optional
656
- * attributes including type, name, dimensions, alternative text, inline
657
- * positioning, and caption information. For HTML images with local file
658
- * references, the image is registered with the parser for asset tracking
659
- * during documentation generation.
660
- *
661
- * The implementation also processes any mixed content within the image
662
- * element, including text and formatting commands that may be part of
663
- * the image description or caption.
664
- */
665
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
666
- }
667
-
668
- /**
669
- * Abstract base class for Doxygen file option type data models.
670
- *
671
- * @remarks
672
- * Represents configuration option elements within Doxyfile XML structures,
673
- * corresponding to the OptionType complex type in the XML schema. This
674
- * class handles the parsing of option values and mandatory attributes
675
- * (id, default, and type). All concrete option data model classes should
676
- * extend this abstract base to ensure consistent parsing and data
677
- * representation of Doxygen configuration settings.
678
- *
679
- * @public
680
- */
681
- export declare abstract class AbstractDoxygenFileOptionType extends AbstractDataModelBase {
682
- /**
683
- * Collection of value strings associated with this configuration option.
684
- *
685
- * @remarks
686
- * Optional array containing value elements found within the option
687
- * structure. Each value represents a specific setting or parameter
688
- * for the configuration option. The array supports zero to many values
689
- * as per the XML schema, allowing for both single and multi-value
690
- * configuration settings.
691
- */
692
- values: string[] | undefined;
693
- /**
694
- * The unique identifier for this configuration option.
695
- *
696
- * @remarks
697
- * Mandatory attribute that specifies the name or identifier of the
698
- * Doxygen configuration option. This corresponds to the actual
699
- * configuration parameter name used in Doxygen configuration files
700
- * and determines the specific setting being configured.
701
- */
702
- id: string;
703
- /**
704
- * The default value indicator for this configuration option.
705
- *
706
- * @remarks
707
- * Mandatory attribute that indicates whether this option is set to
708
- * its default value. Corresponds to the defaultType enumeration in
709
- * the XML schema, typically having values of 'yes' or 'no'.
710
- */
711
- default: string;
712
- /**
713
- * The data type classification for this configuration option.
714
- *
715
- * @remarks
716
- * Mandatory attribute that specifies the expected data type for the
717
- * option's values. Corresponds to the typeType enumeration in the
718
- * XML schema, indicating whether the option expects integer, boolean,
719
- * string, or string list values.
720
- */
721
- type: string;
722
- /**
723
- * Constructs a new AbstractDoxygenFileOptionType instance from XML data.
724
- *
725
- * @param xml - The Doxygen XML parser instance for processing XML elements
726
- * @param element - The XML element containing the option data
727
- * @param elementName - The name of the XML element being processed
728
- *
729
- * @remarks
730
- * Parses the provided XML element to extract configuration option
731
- * information including value collections and mandatory attributes
732
- * (id, default, and type). The constructor validates that all required
733
- * attributes are present and processes value elements into a string
734
- * array when present. The parsing ensures compliance with the OptionType
735
- * schema definition.
736
- */
737
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
738
- }
739
-
740
- /**
741
- * Abstract base class for Doxygen file type data models.
742
- *
743
- * @remarks
744
- * Represents the structure of Doxyfile XML configurations, corresponding
745
- * to the DoxygenFileType complex type in the XML schema. This class handles
746
- * the parsing of Doxygen configuration options and mandatory attributes
747
- * (version and language). All concrete Doxyfile data model classes should
748
- * extend this abstract base to ensure consistent parsing and data
749
- * representation of configuration settings.
750
- *
751
- * @public
752
- */
753
- export declare abstract class AbstractDoxygenFileType extends AbstractDataModelBase {
754
- /**
755
- * The version of the Doxygen tool that generated the configuration.
756
- *
757
- * @remarks
758
- * Mandatory attribute extracted from the XML structure that identifies
759
- * the version of Doxygen used to generate the configuration file. This
760
- * information is essential for compatibility and configuration parsing
761
- * decisions.
762
- */
763
- version: string;
764
- /**
765
- * The language specification for the documentation configuration.
766
- *
767
- * @remarks
768
- * Mandatory attribute corresponding to the xml:lang attribute in the
769
- * XML structure. Specifies the primary language used in the configuration
770
- * and documentation generation process for internationalisation purposes.
771
- */
772
- lang: string;
773
- /**
774
- * Collection of configuration option data models.
775
- *
776
- * @remarks
777
- * Optional array containing option elements found within the Doxyfile
778
- * structure. Each option represents a specific configuration setting
779
- * that controls the behaviour of Doxygen during documentation generation.
780
- * The array supports zero to many options as per the XML schema.
781
- */
782
- options?: DoxygenFileOptionDataModel[] | undefined;
783
- /**
784
- * The XML schema location reference for validation.
785
- *
786
- * @remarks
787
- * Optional attribute that specifies the location of the XML schema
788
- * definition used for validating the structure of the Doxyfile XML.
789
- * This provides schema validation capabilities for the parsed
790
- * configuration content.
791
- */
792
- noNamespaceSchemaLocation?: string | undefined;
793
- /**
794
- * Constructs a new AbstractDoxygenFileType instance from XML data.
795
- *
796
- * @param xml - The Doxygen XML parser instance for processing XML elements
797
- * @param element - The XML element containing the Doxyfile data
798
- * @param elementName - The name of the XML element being processed
799
- *
800
- * @remarks
801
- * Parses the provided XML element to extract Doxyfile configuration
802
- * information including option collections and mandatory attributes
803
- * (version and language). The constructor validates that all required
804
- * attributes are present and processes option elements into the
805
- * appropriate data models. Optional schema location attributes are
806
- * also extracted when present.
807
- */
808
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
809
- }
810
-
811
- /**
812
- * Abstract base class for enumeration value data models.
813
- *
814
- * @remarks
815
- * Represents individual values within enumeration types as parsed from
816
- * Doxygen XML. Contains the value name, optional initialiser expression,
817
- * and documentation descriptions with protection level information.
818
- *
819
- * @public
820
- */
821
- export declare abstract class AbstractEnumValueType extends AbstractDataModelBase {
822
- /**
823
- * The name of the enumeration value.
824
- *
825
- * @remarks
826
- * Simple identifier for the enumeration constant as it appears
827
- * in the source code.
828
- */
829
- name: string;
830
- /**
831
- * Optional initialiser expression for the enumeration value.
832
- *
833
- * @remarks
834
- * Contains the explicit value assignment expression when the
835
- * enumeration value is explicitly initialised in the source code.
836
- */
837
- initializer?: InitializerDataModel | undefined;
838
- /**
839
- * Brief description of the enumeration value.
840
- *
841
- * @remarks
842
- * Short documentation comment providing a concise explanation
843
- * of the enumeration value's purpose or meaning.
844
- */
845
- briefDescription?: BriefDescriptionDataModel | undefined;
846
- /**
847
- * Detailed description of the enumeration value.
848
- *
849
- * @remarks
850
- * Comprehensive documentation comment providing full details
851
- * about the enumeration value's purpose, usage, and behaviour.
852
- */
853
- detailedDescription?: DetailedDescriptionDataModel | undefined;
854
- /**
855
- * Unique identifier for the enumeration value.
856
- *
857
- * @remarks
858
- * Doxygen-generated identifier used for cross-referencing
859
- * and creating links to this enumeration value.
860
- */
861
- id: string;
862
- /**
863
- * Protection level of the enumeration value.
864
- *
865
- * @remarks
866
- * Indicates the visibility scope such as 'public', 'private',
867
- * or 'protected' based on Doxygen's protection kind enumeration.
868
- */
869
- prot: string;
870
- /**
871
- * Creates a new enumeration value data model.
872
- *
873
- * @remarks
874
- * Parses the XML element representing an enumeration value and
875
- * extracts all relevant information including name, initialiser,
876
- * descriptions, and attributes.
877
- *
878
- * @param xml - The XML parser instance
879
- * @param element - The XML element to parse
880
- * @param elementName - The name of the XML element
881
- */
882
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
883
- }
884
-
885
- /**
886
- * Abstract base class for syntax highlighting elements within code listings.
887
- *
888
- * @remarks
889
- * Implements the XML Schema definition for highlightType elements, which
890
- * provide syntax highlighting information for portions of source code.
891
- * Each highlight element contains a mandatory class attribute that specifies
892
- * the type of syntax element (keyword, comment, etc.) and may contain
893
- * mixed content including text, spacing elements, and cross-references.
894
- *
895
- * The implementation supports the full range of Doxygen highlight classes
896
- * including standard programming language constructs and specialised
897
- * VHDL categories for hardware description language documentation.
898
- *
899
- * @public
900
- */
901
- export declare abstract class AbstractHighlightType extends AbstractDataModelBase {
902
- /**
903
- * Mandatory highlight classification attribute.
904
- *
905
- * @remarks
906
- * Specifies the syntax highlighting class for this element, determining
907
- * how the contained text should be styled in the generated documentation.
908
- * The value must be one of the predefined DoxHighlightClass enumeration
909
- * values such as 'keyword', 'comment', or 'stringliteral'.
910
- */
911
- classs: string;
912
- /**
913
- * Constructs an AbstractHighlightType instance from XML element data.
914
- *
915
- * @param xml - The Doxygen XML parser instance for processing XML content
916
- * @param element - The XML element object containing the highlight data
917
- * @param elementName - The name of the XML element being processed
918
- *
919
- * @remarks
920
- * This constructor processes highlight elements by extracting the mandatory
921
- * class attribute and any mixed content including text nodes, spacing
922
- * elements, and cross-reference elements. The parser maintains the original
923
- * order of content elements in the children array to preserve the intended
924
- * layout and formatting of the highlighted code segment.
925
- */
926
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
927
- }
928
-
929
- /**
930
- * Abstract base class for include-type elements within documentation.
931
- *
932
- * @remarks
933
- * Implements processing for include-type elements that represent file inclusion
934
- * relationships within source code documentation. This class handles the XML
935
- * Schema definition for incType elements, which contain textual content
936
- * representing file paths or names along with attributes that specify inclusion
937
- * behaviour and reference relationships.
938
- *
939
- * The implementation processes both local and system includes, distinguishing
940
- * between quoted includes ("filename") and angle-bracket includes (<filename>)
941
- * through the local attribute. Optional reference identifiers enable
942
- * cross-referencing to the included file's documentation.
943
- *
944
- * @public
945
- */
946
- export declare abstract class AbstractIncType extends AbstractDataModelBase {
947
- /**
948
- * The textual content representing the file path or name being included.
949
- *
950
- * @remarks
951
- * Contains the file path or filename as specified in the include directive.
952
- * This text content represents the actual filename that appears within
953
- * the include statement in the source code, providing the reference to
954
- * the included file within the documentation structure.
955
- */
956
- text: string;
957
- /**
958
- * Indicates whether the include uses local or system include syntax.
959
- *
960
- * @remarks
961
- * Determines the include syntax style: when true, indicates a local include
962
- * using quotation marks ("filename"), when false, indicates a system include
963
- * using angle brackets (<filename>). This distinction affects how the
964
- * preprocessor searches for the included file.
965
- */
966
- local: boolean;
967
- /**
968
- * Optional reference identifier for cross-linking to the included file.
969
- *
970
- * @remarks
971
- * Contains the reference identifier that links to the documentation of
972
- * the included file. This enables navigation from include statements to
973
- * the actual file documentation within the generated documentation system.
974
- */
975
- refId?: string | undefined;
976
- /**
977
- * Constructs an AbstractIncType instance from XML element data.
978
- *
979
- * @param xml - The Doxygen XML parser instance for processing XML content
980
- * @param element - The XML element object containing the include data
981
- * @param elementName - The name of the XML element being processed
982
- *
983
- * @remarks
984
- * This constructor processes include-type elements by extracting the
985
- * textual content representing the filename and processing attributes
986
- * that specify inclusion behaviour. The parser validates the presence
987
- * of required content and attributes whilst maintaining compliance with
988
- * the XML Schema definition for include elements.
989
- *
990
- * The implementation distinguishes between local and system includes
991
- * through the local attribute and optionally associates reference
992
- * identifiers for cross-linking to included file documentation.
993
- */
994
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
995
- }
996
-
997
- /**
998
- * Abstract base class for index compound type data models.
999
- *
1000
- * @remarks
1001
- * Represents compound elements found within Doxygen index XML structures,
1002
- * corresponding to the CompoundType complex type in the XML schema. This
1003
- * class handles the parsing of compound names, member collections, and
1004
- * mandatory attributes (refid and kind). All concrete compound data model
1005
- * classes should extend this abstract base to ensure consistent parsing
1006
- * and data representation.
1007
- *
1008
- * @public
1009
- */
1010
- export declare abstract class AbstractIndexCompoundType extends AbstractDataModelBase {
1011
- /**
1012
- * The name of the compound element.
1013
- *
1014
- * @remarks
1015
- * Extracted from the mandatory 'name' element within the compound XML
1016
- * structure. Represents the identifier or name of the documented compound
1017
- * such as a class name, namespace, or filename.
1018
- */
1019
- name: string;
1020
- /**
1021
- * Collection of member data models associated with this compound.
1022
- *
1023
- * @remarks
1024
- * Optional array containing member elements found within the compound
1025
- * structure. Each member represents a documented entity that belongs
1026
- * to this compound, such as functions, variables, or other nested
1027
- * constructs. The array supports zero to many members as per the XML schema.
1028
- */
1029
- members: IndexMemberDataModel[] | undefined;
1030
- /**
1031
- * The unique reference identifier for this compound.
1032
- *
1033
- * @remarks
1034
- * Mandatory attribute that provides a unique identifier for referencing
1035
- * this compound within the Doxygen documentation structure. Used to link
1036
- * index entries to their detailed definitions in separate XML files.
1037
- */
1038
- refid: string;
1039
- /**
1040
- * The kind classification of this compound.
1041
- *
1042
- * @remarks
1043
- * Mandatory attribute specifying the type of compound (e.g., class, struct,
1044
- * namespace, file). Corresponds to the CompoundKind enumeration in the
1045
- * XML schema, determining how the compound should be processed and presented.
1046
- */
1047
- kind: string;
1048
- /**
1049
- * Constructs a new AbstractIndexCompoundType instance from XML data.
1050
- *
1051
- * @param xml - The Doxygen XML parser instance for processing XML elements
1052
- * @param element - The XML element containing the compound data
1053
- * @param elementName - The name of the XML element being processed
1054
- *
1055
- * @remarks
1056
- * Parses the provided XML element to extract compound information including
1057
- * the name element, member collections, and mandatory attributes (refid and
1058
- * kind). The constructor validates that all required data is present and
1059
- * properly formatted according to the XML schema specifications. Member
1060
- * elements are processed into IndexMemberDataModel instances when present.
1061
- */
1062
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
1063
- }
1064
-
1065
- /**
1066
- * Abstract base class for Doxygen index type data models.
1067
- *
1068
- * @remarks
1069
- * Represents the top-level structure of Doxygen index XML files, corresponding
1070
- * to the DoxygenType complex type in the XML schema. This class handles the
1071
- * parsing of version and language attributes, along with compound element
1072
- * collections. Note that this definition may clash with similar types in
1073
- * compound.xsd, requiring careful namespace management.
1074
- *
1075
- * @public
1076
- */
1077
- export declare abstract class AbstractIndexDoxygenType extends AbstractDataModelBase {
1078
- /**
1079
- * The version of the Doxygen tool that generated the XML.
1080
- *
1081
- * @remarks
1082
- * Mandatory attribute extracted from the XML structure that identifies
1083
- * the version of Doxygen used to generate the documentation. This
1084
- * information is crucial for compatibility and parsing decisions.
1085
- */
1086
- version: string;
1087
- /**
1088
- * The language specification for the documentation content.
1089
- *
1090
- * @remarks
1091
- * Mandatory attribute corresponding to the xml:lang attribute in the
1092
- * XML structure. Specifies the primary language used in the documented
1093
- * content for internationalisation purposes.
1094
- */
1095
- lang: string;
1096
- /**
1097
- * Collection of compound data models referenced in the index.
1098
- *
1099
- * @remarks
1100
- * Optional array containing compound elements found within the index
1101
- * structure. Each compound represents a documented entity such as
1102
- * classes, namespaces, or files that are catalogued in the index.
1103
- */
1104
- compounds?: IndexCompoundDataModel[] | undefined;
1105
- /**
1106
- * The XML schema location reference for validation.
1107
- *
1108
- * @remarks
1109
- * Optional attribute that specifies the location of the XML schema
1110
- * definition used for validating the structure of the index XML file.
1111
- * This provides schema validation capabilities for the parsed content.
1112
- */
1113
- noNamespaceSchemaLocation?: string | undefined;
1114
- /**
1115
- * Constructs a new AbstractIndexDoxygenType instance from XML data.
1116
- *
1117
- * @param xml - The Doxygen XML parser instance for processing XML elements
1118
- * @param element - The XML element containing the Doxygen index data
1119
- * @param elementName - The name of the XML element being processed
1120
- *
1121
- * @remarks
1122
- * Parses the provided XML element to extract Doxygen index information
1123
- * including compound collections and mandatory attributes (version and
1124
- * language). The constructor validates that all required attributes are
1125
- * present and processes compound elements into the appropriate data models.
1126
- * Optional schema location attributes are also extracted when present.
1127
- */
1128
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
1129
- }
1130
-
1131
- /**
1132
- * Abstract base class for index member type data models.
1133
- *
1134
- * @remarks
1135
- * Represents member elements found within Doxygen index XML structures,
1136
- * corresponding to the MemberType complex type in the XML schema. This
1137
- * class handles the parsing of member names, reference identifiers, and
1138
- * member kinds from the XML structure. All concrete member data model
1139
- * classes should extend this abstract base to ensure consistent parsing
1140
- * and data representation.
1141
- *
1142
- * @public
1143
- */
1144
- export declare abstract class AbstractIndexMemberType extends AbstractDataModelBase {
1145
- /**
1146
- * The name of the member element.
1147
- *
1148
- * @remarks
1149
- * Extracted from the mandatory 'name' element within the member XML
1150
- * structure. Represents the identifier or name of the documented member.
1151
- */
1152
- name: string;
1153
- /**
1154
- * The reference identifier for the member.
1155
- *
1156
- * @remarks
1157
- * Mandatory attribute that provides a unique identifier for referencing
1158
- * this member within the Doxygen documentation structure. Used to link
1159
- * index entries to their detailed definitions.
1160
- */
1161
- refid: string;
1162
- /**
1163
- * The kind classification of the member.
1164
- *
1165
- * @remarks
1166
- * Mandatory attribute specifying the type of member (e.g., function,
1167
- * variable, typedef). Corresponds to the MemberKind enumeration in the
1168
- * XML schema.
1169
- */
1170
- kind: string;
1171
- /**
1172
- * Constructs a new AbstractIndexMemberType instance from XML data.
1173
- *
1174
- * @param xml - The Doxygen XML parser instance for processing XML elements
1175
- * @param element - The XML element containing the member data
1176
- * @param elementName - The name of the XML element being processed
1177
- *
1178
- * @remarks
1179
- * Parses the provided XML element to extract member information including
1180
- * the name element and mandatory attributes (refid and kind). The constructor
1181
- * validates that all required data is present and properly formatted
1182
- * according to the XML schema specifications.
1183
- */
1184
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
1185
- }
1186
-
1187
- /**
1188
- * Abstract base class for linked text elements within documentation content.
1189
- *
1190
- * @remarks
1191
- * Implements processing for linked text elements that contain mixed content
1192
- * including both textual content and reference elements. This class handles
1193
- * the XML Schema definition for linkedTextType elements, which support
1194
- * character data interspersed with reference elements that provide
1195
- * cross-linking capabilities within documentation structures.
1196
- *
1197
- * The implementation processes sequences of text strings and RefTextDataModel
1198
- * instances, maintaining their original order to preserve the intended
1199
- * content flow whilst enabling interactive cross-references within the
1200
- * generated documentation.
1201
- *
1202
- * @public
1203
- */
1204
- export declare abstract class AbstractLinkedTextType extends AbstractDataModelBase {
1205
- /**
1206
- * Constructs an AbstractLinkedTextType instance from XML element data.
1207
- *
1208
- * @param xml - The Doxygen XML parser instance for processing XML content
1209
- * @param element - The XML element object containing the linked text data
1210
- * @param elementName - The name of the XML element being processed
1211
- *
1212
- * @remarks
1213
- * This constructor processes linked text elements by extracting both
1214
- * textual content and reference elements in their original order. The
1215
- * parser maintains the mixed content structure whilst creating appropriate
1216
- * RefTextDataModel instances for cross-reference elements, ensuring
1217
- * proper content flow and interactive linking capabilities within the
1218
- * documentation system.
1219
- */
1220
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
1221
- }
1222
-
1223
- /**
1224
- * Abstract base class for processing listing-type XML elements with parsing
1225
- * logic.
1226
- *
1227
- * @remarks
1228
- * Extends the base listing properties with comprehensive XML parsing
1229
- * capabilities. This class handles the extraction of code lines and
1230
- * filename attributes from Doxygen XML structures, providing the
1231
- * foundation for program listings and similar code-containing elements.
1232
- *
1233
- * The parser processes codeline elements whilst ignoring textual content
1234
- * that may appear between structured elements, maintaining compatibility
1235
- * with the mixed-content nature of XML listings.
1236
- *
1237
- * @public
1238
- */
1239
- export declare abstract class AbstractListingType extends AbstractListingTypeBase {
1240
- /**
1241
- * Constructs an AbstractListingType instance from XML element data.
1242
- *
1243
- * @param xml - The Doxygen XML parser instance for processing XML content
1244
- * @param element - The XML element object containing the listing data
1245
- * @param elementName - The name of the XML element being processed
1246
- *
1247
- * @remarks
1248
- * This constructor processes listing elements by extracting codeline
1249
- * children and filename attributes. Text content between elements is
1250
- * deliberately ignored to accommodate the mixed-content model of XML
1251
- * listings, focusing on the structured code line elements that contain
1252
- * the meaningful programming content.
1253
- */
1254
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
1255
- }
1256
-
1257
- /**
1258
- * Abstract base class providing properties for listing-type XML elements.
1259
- *
1260
- * @remarks
1261
- * Defines the common structure for elements that contain code listings
1262
- * with optional filename attributes. This base class establishes the
1263
- * foundation for both full listing implementations and filtered subsets
1264
- * of code lines.
1265
- *
1266
- * @public
1267
- */
1268
- export declare abstract class AbstractListingTypeBase extends AbstractDataModelBase {
1269
- /**
1270
- * Array of code line elements within the listing.
1271
- *
1272
- * @remarks
1273
- * Contains the individual code lines that comprise the listing content.
1274
- * Each code line may include syntax highlighting information, line
1275
- * numbers, and cross-reference data depending on the source
1276
- * documentation configuration.
1277
- */
1278
- codelines?: CodeLineDataModel[] | undefined;
1279
- /**
1280
- * Optional filename attribute for the listing source.
1281
- *
1282
- * @remarks
1283
- * Specifies the original filename of the source code when the listing
1284
- * represents content from a specific file. This attribute assists in
1285
- * providing context and navigation capabilities within the generated
1286
- * documentation.
1287
- */
1288
- filename?: string | undefined;
1289
- }
1290
-
1291
- /**
1292
- * Abstract base class for list-of-all-members elements within documentation.
1293
- *
1294
- * @remarks
1295
- * Implements processing for list-of-all-members elements that contain
1296
- * comprehensive member reference collections within class and compound
1297
- * documentation. This class handles the XML Schema definition for
1298
- * listofallmembersType elements, which provide complete inventories of
1299
- * all members (including inherited members) associated with classes,
1300
- * structures, and other compound types.
1301
- *
1302
- * The implementation processes sequences of member reference elements,
1303
- * creating MemberRefDataModel instances to maintain detailed information
1304
- * about each member's identity, scope, and accessibility within the
1305
- * compound's complete member hierarchy.
1306
- *
1307
- * @public
1308
- */
1309
- export declare abstract class AbstractListOfAllMembersType extends AbstractDataModelBase {
1310
- /**
1311
- * Collection of member reference elements within the list-of-all-members.
1312
- *
1313
- * @remarks
1314
- * Contains processed member reference data models representing all members
1315
- * associated with the compound, including both directly declared and
1316
- * inherited members. Each reference provides comprehensive identification
1317
- * and scope information for the corresponding member element.
1318
- *
1319
- * @public
1320
- */
1321
- memberRefs?: MemberRefDataModel[] | undefined;
1322
- /**
1323
- * Constructs a new list-of-all-members data model instance.
1324
- *
1325
- * @param xml - The XML parser instance for processing elements
1326
- * @param element - The source XML element containing list-of-all-members data
1327
- * @param elementName - The name of the XML element being processed
1328
- *
1329
- * @remarks
1330
- * Processes the XML element to extract and organise member reference
1331
- * information, creating appropriate data model instances for each
1332
- * member entry found within the comprehensive member listing.
1333
- * The constructor validates the element structure and ensures
1334
- * all member references are properly instantiated.
1335
- *
1336
- * @public
1337
- */
1338
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
1339
- }
1340
-
1341
- /**
1342
- * Abstract base class for location information data models.
1343
- *
1344
- * @remarks
1345
- * Represents comprehensive source code location information as parsed from
1346
- * Doxygen XML elements, including file paths, line numbers, and column
1347
- * positions for both declarations and implementations. This class provides
1348
- * the foundation for tracking source location references within the
1349
- * documentation system, enabling precise navigation between documentation
1350
- * and source code.
1351
- *
1352
- * The implementation handles the XML Schema definition for locationType
1353
- * elements, which contain detailed positioning information for code elements
1354
- * including separate tracking of declaration and implementation locations
1355
- * when they differ (such as header/source file pairs).
1356
- *
1357
- * @public
1358
- */
1359
- export declare abstract class AbstractLocationType extends AbstractDataModelBase {
1360
- /**
1361
- * The source file path containing the primary declaration or definition.
1362
- *
1363
- * @remarks
1364
- * File path as recorded by Doxygen, typically relative to the source tree
1365
- * root or absolute depending on configuration settings. This represents
1366
- * the primary file location where the documented element is defined.
1367
- *
1368
- * @public
1369
- */
1370
- file: string;
1371
- /**
1372
- * The line number in the primary source file.
1373
- *
1374
- * @remarks
1375
- * Line number where the declaration or definition appears within the
1376
- * primary source file. Note that whilst the XSD specification indicates
1377
- * this as mandatory, in practice it may be undefined for certain elements
1378
- * where precise line information is not available or applicable.
1379
- *
1380
- * @public
1381
- */
1382
- line?: number | undefined;
1383
- /**
1384
- * The column number in the primary source file.
1385
- *
1386
- * @remarks
1387
- * Column position where the declaration or definition begins, providing
1388
- * precise horizontal location information when available. This enables
1389
- * accurate source code navigation and positioning within development
1390
- * environments.
1391
- *
1392
- * @public
1393
- */
1394
- column?: number | undefined;
1395
- /**
1396
- * The file path containing the declaration when separate from implementation.
1397
- *
1398
- * @remarks
1399
- * File path for the declaration when it differs from the implementation
1400
- * file, typically occurring in header/source file pairs where declarations
1401
- * are placed in header files whilst implementations reside in source files.
1402
- * This separation is common in C/C++ development patterns.
1403
- *
1404
- * @public
1405
- */
1406
- declfile?: string | undefined;
1407
- /**
1408
- * The line number of the declaration within the declaration file.
1409
- *
1410
- * @remarks
1411
- * Line number where the declaration appears, separate from the
1412
- * implementation location when they differ. This provides precise
1413
- * positioning within the declaration file for accurate source navigation.
1414
- *
1415
- * @public
1416
- */
1417
- declline?: number | undefined;
1418
- /**
1419
- * The column number of the declaration within the declaration file.
1420
- *
1421
- * @remarks
1422
- * Column position where the declaration begins, providing precise
1423
- * horizontal location information for the declaration. This enables
1424
- * accurate positioning within development environments when navigating
1425
- * to declaration locations.
1426
- *
1427
- * @public
1428
- */
1429
- declcolumn?: number | undefined;
1430
- /**
1431
- * The file path containing the implementation body.
1432
- *
1433
- * @remarks
1434
- * File path where the function or method body is implemented, separate
1435
- * from the declaration when they differ. This is particularly relevant
1436
- * for languages that support separate declaration and implementation
1437
- * files, enabling precise navigation to implementation code.
1438
- *
1439
- * @public
1440
- */
1441
- bodyfile?: string | undefined;
1442
- /**
1443
- * The starting line number of the implementation body.
1444
- *
1445
- * @remarks
1446
- * Line number where the implementation body begins, providing the starting
1447
- * boundary for locating function or method implementations. This is useful
1448
- * for identifying the complete scope of implementation code.
1449
- *
1450
- * @public
1451
- */
1452
- bodystart?: number | undefined;
1453
- /**
1454
- * The ending line number of the implementation body.
1455
- *
1456
- * @remarks
1457
- * Line number where the implementation body ends, providing the complete
1458
- * range of the implementation. Together with bodystart, this defines the
1459
- * full extent of the implementation code within the source file.
1460
- *
1461
- * @public
1462
- */
1463
- bodyend?: number | undefined;
1464
- /**
1465
- * Constructs a new location data model from XML element data.
1466
- *
1467
- * @param xml - The XML parser instance for processing element data
1468
- * @param element - The XML element containing location information
1469
- * @param elementName - The name of the XML element being processed
1470
- *
1471
- * @remarks
1472
- * Parses the XML element representing location information and extracts
1473
- * file paths, line numbers, and column positions for declarations and
1474
- * implementations. The constructor processes all available location
1475
- * attributes whilst handling the distinction between declaration and
1476
- * implementation locations when they differ.
1477
- *
1478
- * The implementation ensures that mandatory file information is present
1479
- * and validates the element structure according to the XML Schema
1480
- * definition for locationType elements.
1481
- *
1482
- * @public
1483
- */
1484
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
1485
- }
1486
-
1487
- /**
1488
- * Abstract base class for member-related data models within documentation.
1489
- *
1490
- * @remarks
1491
- * Provides foundational functionality for all member-related elements within
1492
- * the Doxygen documentation system. This class establishes the basic
1493
- * structure for member identification and classification, serving as the
1494
- * foundation for more specific member definition processing.
1495
- *
1496
- * The class maintains essential member information including name and kind
1497
- * identification, which are fundamental properties required by all member
1498
- * types within the documentation hierarchy.
1499
- *
1500
- * @public
1501
- */
1502
- export declare abstract class AbstractMemberBaseType extends AbstractDataModelBase {
1503
- /**
1504
- * The name of the member element.
1505
- *
1506
- * @remarks
1507
- * Contains the identifier name for the member as extracted from the
1508
- * documentation source. This represents the primary identification
1509
- * mechanism for the member within its containing scope.
1510
- *
1511
- * @public
1512
- */
1513
- name: string;
1514
- /**
1515
- * The kind classification of the member element.
1516
- *
1517
- * @remarks
1518
- * Specifies the type category of the member, corresponding to the
1519
- * DoxMemberKind enumeration values. This classification determines
1520
- * how the member is processed and presented within the documentation
1521
- * generation workflow.
1522
- *
1523
- * @public
1524
- */
1525
- kind: string;
1526
- }
1527
-
1528
- /**
1529
- * Abstract base class for comprehensive member definition data models.
1530
- *
1531
- * @remarks
1532
- * Extends the basic member functionality to provide complete member
1533
- * definition processing capabilities. This class handles the complex XML
1534
- * Schema definition for memberdefType elements, which represent detailed
1535
- * member information including location data, type information, parameters,
1536
- * descriptions, and various language-specific attributes.
1537
- *
1538
- * The implementation processes extensive member metadata including template
1539
- * parameters, function signatures, initialization values, documentation
1540
- * descriptions, and cross-reference information. It also manages a
1541
- * comprehensive set of language-specific attributes covering C++, Qt,
1542
- * C++/CLI, C#, Objective-C, and UNO IDL constructs.
1543
- *
1544
- * @public
1545
- */
1546
- export declare abstract class AbstractMemberDefType extends AbstractMemberBaseType {
1547
- /**
1548
- * The location information for the member definition.
1549
- *
1550
- * @remarks
1551
- * Contains comprehensive source code location data including file paths,
1552
- * line numbers, and column positions for both declarations and
1553
- * implementations. This enables precise navigation between documentation
1554
- * and source code.
1555
- *
1556
- * @public
1557
- */
1558
- location: LocationDataModel | undefined;
1559
- /**
1560
- * The unique identifier for the member element.
1561
- *
1562
- * @remarks
1563
- * Provides a unique identification string for the member within the
1564
- * documentation system. This identifier is used for cross-referencing
1565
- * and linking between different parts of the documentation.
1566
- *
1567
- * @public
1568
- */
1569
- id: string;
1570
- /**
1571
- * The protection level of the member element.
1572
- *
1573
- * @remarks
1574
- * Specifies the access protection level (public, protected, private)
1575
- * for the member, determining its visibility and accessibility within
1576
- * the containing class or namespace scope.
1577
- *
1578
- * @public
1579
- */
1580
- prot: string;
1581
- /**
1582
- * Indicates whether the member is declared as static.
1583
- *
1584
- * @remarks
1585
- * Boolean flag indicating static member declaration, affecting the
1586
- * member's association with class instances versus the class itself.
1587
- * This information is crucial for understanding member accessibility
1588
- * and usage patterns.
1589
- *
1590
- * @public
1591
- */
1592
- staticc: boolean | undefined;
1593
- /**
1594
- * Template parameter list information for templated members.
1595
- *
1596
- * @remarks
1597
- * Contains detailed information about template parameters when the member
1598
- * is part of a template declaration. This includes parameter names, types,
1599
- * and default values essential for template documentation.
1600
- *
1601
- * @public
1602
- */
1603
- templateparamlist?: TemplateParamListDataModel | undefined;
1604
- /**
1605
- * Type information for the member element.
1606
- *
1607
- * @remarks
1608
- * Provides comprehensive type data including linked text with embedded
1609
- * cross-references. This information describes the member's data type,
1610
- * return type for functions, or variable type for data members.
1611
- *
1612
- * @public
1613
- */
1614
- type?: TypeDataModel | undefined;
1615
- /**
1616
- * The complete definition string for the member.
1617
- *
1618
- * @remarks
1619
- * Contains the full member definition as it appears in the source code,
1620
- * including type information, qualifiers, and parameter lists. This
1621
- * provides the complete syntactic representation of the member.
1622
- *
1623
- * @public
1624
- */
1625
- definition?: string | undefined;
1626
- /**
1627
- * The argument string for function members.
1628
- *
1629
- * @remarks
1630
- * Contains the parameter list specification for function-like members,
1631
- * including parameter types, names, and default values. This information
1632
- * is essential for understanding function signatures and usage.
1633
- *
1634
- * @public
1635
- */
1636
- argsstring?: string | undefined;
1637
- /**
1638
- * The fully qualified name of the member element.
1639
- *
1640
- * @remarks
1641
- * Provides the complete qualified name including namespace and class
1642
- * prefixes, enabling unambiguous identification of the member within
1643
- * the entire codebase context.
1644
- *
1645
- * @public
1646
- */
1647
- qualifiedName?: string | undefined;
1648
- /**
1649
- * Bitfield specification for member variables.
1650
- *
1651
- * @remarks
1652
- * Contains the bitfield width specification for member variables that
1653
- * are declared as bitfields in C/C++ structures or classes. This string
1654
- * represents the number of bits allocated to the member within the
1655
- * containing structure's memory layout.
1656
- */
1657
- bitfield?: string | undefined;
1658
- /**
1659
- * List of reimplemented member references.
1660
- *
1661
- * @remarks
1662
- * Contains references to members that this member reimplements or
1663
- * overrides from base classes. This property captures inheritance
1664
- * relationships where the current member provides a new implementation
1665
- * of a virtual method from a parent class.
1666
- */
1667
- reimplements?: ReimplementDataModel[] | undefined;
1668
- /**
1669
- * List of members that reimplement this member.
1670
- *
1671
- * @remarks
1672
- * Contains references to derived class members that reimplement or
1673
- * override this member. This property provides reverse inheritance
1674
- * relationship information, showing which child classes provide
1675
- * alternative implementations of this member.
1676
- */
1677
- reimplementedBys?: ReimplementDataModel[] | undefined;
1678
- /**
1679
- * Parameter list for function or method members.
1680
- *
1681
- * @remarks
1682
- * Contains detailed parameter information for function-like members,
1683
- * including parameter names, types, descriptions, and default values.
1684
- * This comprehensive parameter data enables complete function signature
1685
- * documentation and API reference generation.
1686
- */
1687
- params?: ParamDataModel[] | undefined;
1688
- /**
1689
- * Enumeration values for enum members.
1690
- *
1691
- * @remarks
1692
- * Contains the list of enumeration constants when the member is an enum
1693
- * type. Each enumeration value includes its name, numeric value, and
1694
- * associated documentation, providing complete enum documentation
1695
- * for API references.
1696
- */
1697
- enumvalues?: EnumValueDataModel[] | undefined;
1698
- /**
1699
- * Initializer expression for the member.
1700
- *
1701
- * @remarks
1702
- * Contains the initialization expression or default value assigned to
1703
- * the member in its declaration. This linked text may include
1704
- * cross-references to other documented entities and provides insight
1705
- * into the member's default behaviour or initial state.
1706
- */
1707
- initializer?: InitializerDataModel | undefined;
1708
- /**
1709
- * Brief description of the member.
1710
- *
1711
- * @remarks
1712
- * Contains a concise summary description of the member extracted from
1713
- * documentation comments. This brief description is typically used in
1714
- * member listings and summary views to provide quick understanding
1715
- * of the member's purpose.
1716
- */
1717
- briefDescription?: BriefDescriptionDataModel | undefined;
1718
- /**
1719
- * Detailed description of the member.
1720
- *
1721
- * @remarks
1722
- * Contains comprehensive documentation for the member including detailed
1723
- * explanations, usage examples, parameter descriptions, and return value
1724
- * information. This forms the primary documentation content for the
1725
- * member in generated API documentation.
1726
- */
1727
- detailedDescription?: DetailedDescriptionDataModel | undefined;
1728
- /**
1729
- * In-body description of the member.
1730
- *
1731
- * @remarks
1732
- * Contains documentation that appears within the member's implementation
1733
- * body, typically used for additional implementation notes or internal
1734
- * documentation that supplements the main member description.
1735
- */
1736
- inbodyDescription?: InbodyDescriptionDataModel | undefined;
1737
- /**
1738
- * References made by this member to other entities.
1739
- *
1740
- * @remarks
1741
- * Contains a list of references to other documented entities that this
1742
- * member uses or calls. This information enables dependency analysis
1743
- * and cross-reference navigation in the generated documentation.
1744
- */
1745
- references?: ReferenceDataModel[] | undefined;
1746
- /**
1747
- * References to this member from other entities.
1748
- *
1749
- * @remarks
1750
- * Contains a list of other documented entities that reference or use
1751
- * this member. This reverse reference information helps understand
1752
- * the member's usage throughout the codebase and enables comprehensive
1753
- * cross-reference navigation.
1754
- */
1755
- referencedBy?: ReferencedByDataModel[] | undefined;
1756
- /**
1757
- * Indicates whether the member has external linkage.
1758
- *
1759
- * @remarks
1760
- * Boolean flag indicating that the member is declared with external
1761
- * linkage, typically using the 'extern' keyword in C/C++. This affects
1762
- * the member's visibility and linkage across translation units.
1763
- */
1764
- extern?: boolean | undefined;
1765
- /**
1766
- * Indicates whether the member has strong typing.
1767
- *
1768
- * @remarks
1769
- * Boolean flag indicating strong type enforcement for the member,
1770
- * typically used in languages or contexts where type strength can
1771
- * be explicitly specified to prevent implicit conversions.
1772
- */
1773
- strong?: boolean | undefined;
1774
- /**
1775
- * Indicates whether the member is declared as const.
1776
- *
1777
- * @remarks
1778
- * Boolean flag indicating that the member is declared with the const
1779
- * qualifier, making it immutable after initialization. This affects
1780
- * the member's usage patterns and compiler optimizations.
1781
- */
1782
- constt?: boolean | undefined;
1783
- /**
1784
- * Indicates whether the member is declared as explicit.
1785
- *
1786
- * @remarks
1787
- * Boolean flag indicating that constructors or conversion operators
1788
- * are marked as explicit, preventing implicit conversions. This is
1789
- * particularly important for type safety in C++ class design.
1790
- */
1791
- explicit?: boolean | undefined;
1792
- /**
1793
- * Indicates whether the member is declared as inline.
1794
- *
1795
- * @remarks
1796
- * Boolean flag indicating that the member is defined inline, suggesting
1797
- * to the compiler that calls should be expanded in place rather than
1798
- * using function call mechanisms. This affects performance and linking.
1799
- */
1800
- inline?: boolean | undefined;
1801
- /**
1802
- * Indicates the reference qualifier for the member.
1803
- *
1804
- * @remarks
1805
- * Boolean flag related to C++11 reference qualifiers (&, &&) that
1806
- * specify whether member functions can be called on lvalue or rvalue
1807
- * objects. This affects method overload resolution and move semantics.
1808
- */
1809
- refqual?: boolean | undefined;
1810
- /**
1811
- * Virtual specification for the member.
1812
- *
1813
- * @remarks
1814
- * String indicating the virtual nature of the member using DoxVirtualKind
1815
- * values ('non-virtual', 'virtual', 'pure-virtual'). This determines
1816
- * the member's behaviour in inheritance hierarchies and polymorphism.
1817
- */
1818
- virt?: string | undefined;
1819
- /**
1820
- * Indicates whether the member is declared as volatile.
1821
- *
1822
- * @remarks
1823
- * Boolean flag indicating that the member is declared with the volatile
1824
- * qualifier, preventing compiler optimizations that assume the value
1825
- * doesn't change unexpectedly. This is important for hardware registers
1826
- * and multi-threaded contexts.
1827
- */
1828
- volatile?: boolean | undefined;
1829
- /**
1830
- * Indicates whether the member is declared as mutable.
1831
- *
1832
- * @remarks
1833
- * Boolean flag indicating that the member can be modified even in const
1834
- * objects. This is typically used for caching, lazy evaluation, or
1835
- * other implementation details that don't affect the logical state.
1836
- */
1837
- mutable?: boolean | undefined;
1838
- /**
1839
- * Indicates whether the member is declared as noexcept.
1840
- *
1841
- * @remarks
1842
- * Boolean flag indicating that the member promises not to throw
1843
- * exceptions. This C++11 feature enables compiler optimizations and
1844
- * affects exception safety guarantees in the API design.
1845
- */
1846
- noexcept?: boolean | undefined;
1847
- /**
1848
- * Indicates whether the member has a noexcept expression.
1849
- *
1850
- * @remarks
1851
- * Boolean flag indicating that the member's noexcept specification
1852
- * includes a conditional expression that determines exception safety
1853
- * at compile time based on template parameters or other conditions.
1854
- */
1855
- noexceptexpression?: boolean | undefined;
1856
- /**
1857
- * Indicates whether the member is declared as nodiscard.
1858
- *
1859
- * @remarks
1860
- * Boolean flag indicating that the member's return value should not
1861
- * be ignored by callers. This C++17 attribute helps prevent common
1862
- * programming errors where important return values are discarded.
1863
- */
1864
- nodiscard?: boolean | undefined;
1865
- /**
1866
- * Indicates whether the member is declared as constexpr.
1867
- *
1868
- * @remarks
1869
- * Boolean flag indicating that the member can be evaluated at compile
1870
- * time when given constant expressions as arguments. This C++11 feature
1871
- * enables compile-time computation and optimization.
1872
- */
1873
- constexpr?: boolean | undefined;
1874
- /**
1875
- * Indicates whether the member is declared as consteval.
1876
- *
1877
- * @remarks
1878
- * Boolean flag indicating that the member must be evaluated at compile
1879
- * time. This C++20 feature is stronger than constexpr, requiring
1880
- * immediate evaluation during compilation.
1881
- */
1882
- consteval?: boolean | undefined;
1883
- /**
1884
- * Indicates whether the member is declared as constinit.
1885
- *
1886
- * @remarks
1887
- * Boolean flag indicating that the member must be initialized with
1888
- * a constant expression during static initialization. This C++20
1889
- * feature helps prevent initialization order issues.
1890
- */
1891
- constinit?: boolean | undefined;
1892
- /**
1893
- * Indicates whether the member is declared as final.
1894
- *
1895
- * @remarks
1896
- * Boolean flag indicating that virtual members cannot be overridden
1897
- * in derived classes. This provides explicit control over inheritance
1898
- * hierarchies and enables compiler optimizations.
1899
- */
1900
- final?: boolean | undefined;
1901
- /**
1902
- * Constructs a new member definition data model from XML element data.
1903
- *
1904
- * @param xml - The XML parser instance for processing element data
1905
- * @param element - The XML element containing member definition information
1906
- * @param elementName - The name of the XML element being processed
1907
- *
1908
- * @remarks
1909
- * Processes the comprehensive XML element representing member definition
1910
- * information and extracts all available metadata including location data,
1911
- * type information, parameters, descriptions, and language-specific
1912
- * attributes. The constructor handles the complex memberdefType schema
1913
- * with its extensive set of optional elements and attributes.
1914
- *
1915
- * The implementation validates mandatory elements (name, location, kind,
1916
- * id, protection) whilst gracefully handling optional elements and
1917
- * attributes. It processes various member types including functions,
1918
- * variables, typedefs, enums, and specialised constructs from multiple
1919
- * programming languages and frameworks.
1920
- *
1921
- * @public
1922
- */
1923
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
1924
- }
1925
-
1926
- /**
1927
- * Abstract base class for member reference data models within documentation.
1928
- *
1929
- * @remarks
1930
- * Represents comprehensive references to class or namespace members as
1931
- * parsed from Doxygen XML elements. This class processes memberRefType
1932
- * schema definitions which contain scope information, member names, and
1933
- * essential attributes required for cross-referencing and link generation
1934
- * within the documentation system.
1935
- *
1936
- * The implementation handles the complete set of member reference metadata
1937
- * including qualified scope identification, protection levels, virtual
1938
- * inheritance characteristics, and ambiguity resolution information.
1939
- * This enables accurate cross-reference generation and navigation between
1940
- * different parts of the documentation.
1941
- *
1942
- * @public
1943
- */
1944
- export declare abstract class AbstractMemberRefType extends AbstractDataModelBase {
1945
- /**
1946
- * The containing scope for the referenced member element.
1947
- *
1948
- * @remarks
1949
- * Specifies the namespace, class, or other containing context that
1950
- * houses the referenced member. This scope information provides the
1951
- * qualified context necessary for proper member identification and
1952
- * disambiguation within the documentation hierarchy.
1953
- *
1954
- * @public
1955
- */
1956
- scope: string;
1957
- /**
1958
- * The identifier name of the referenced member element.
1959
- *
1960
- * @remarks
1961
- * Contains the simple identifier name for the member being referenced,
1962
- * which serves as the primary display name and is used for link
1963
- * generation within the documentation system. This name is used in
1964
- * conjunction with the scope to provide complete member identification.
1965
- *
1966
- * @public
1967
- */
1968
- name: string;
1969
- /**
1970
- * The unique reference identifier for cross-referencing the member.
1971
- *
1972
- * @remarks
1973
- * Contains the Doxygen-generated unique identifier used for creating
1974
- * precise cross-references and hyperlinks to the member documentation.
1975
- * This identifier ensures unambiguous linking between documentation
1976
- * elements and enables accurate navigation within the generated
1977
- * documentation system.
1978
- *
1979
- * @public
1980
- */
1981
- refid: string;
1982
- /**
1983
- * The protection level classification of the referenced member.
1984
- *
1985
- * @remarks
1986
- * Specifies the access protection level such as 'public', 'private',
1987
- * or 'protected' based on Doxygen's DoxProtectionKind enumeration.
1988
- * This information determines the member's visibility and accessibility
1989
- * within its containing scope and affects documentation presentation.
1990
- *
1991
- * @public
1992
- */
1993
- prot: string;
1994
- /**
1995
- * The virtual inheritance classification of the referenced member.
1996
- *
1997
- * @remarks
1998
- * Indicates the virtual nature such as 'virtual', 'pure-virtual',
1999
- * or 'non-virtual' based on Doxygen's DoxVirtualKind enumeration.
2000
- * This classification is essential for understanding inheritance
2001
- * relationships and member override behaviour within class hierarchies.
2002
- *
2003
- * @public
2004
- */
2005
- virt: string;
2006
- /**
2007
- * The ambiguity resolution scope for member reference disambiguation.
2008
- *
2009
- * @remarks
2010
- * Provides optional scope information used to resolve ambiguous member
2011
- * references when multiple members with identical names exist within
2012
- * the documentation context. This field assists in ensuring accurate
2013
- * member identification when name conflicts occur.
2014
- *
2015
- * Note that this deviates from the XML Schema definition where it is
2016
- * marked as required, but in practice may be undefined for certain
2017
- * member references.
2018
- *
2019
- * @public
2020
- */
2021
- ambiguityscope?: string | undefined;
2022
- /**
2023
- * Constructs a new member reference data model from XML element data.
2024
- *
2025
- * @param xml - The XML parser instance for processing element data
2026
- * @param element - The XML element containing member reference information
2027
- * @param elementName - The name of the XML element being processed
2028
- *
2029
- * @remarks
2030
- * Processes the XML element representing member reference information
2031
- * and extracts scope identification, member names, and reference
2032
- * attributes required for cross-referencing functionality. The
2033
- * constructor validates mandatory elements and attributes whilst
2034
- * gracefully handling optional ambiguity scope information.
2035
- *
2036
- * The implementation ensures that essential reference data (scope, name,
2037
- * refid, protection, virtual kind) is properly extracted and validated
2038
- * according to the memberRefType schema requirements.
2039
- *
2040
- * @public
2041
- */
2042
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
2043
- }
2044
-
2045
- /**
2046
- * Abstract base class for member type data models within documentation.
2047
- *
2048
- * @remarks
2049
- * Represents member elements as defined by the MemberType XML Schema,
2050
- * providing fundamental member identification and classification
2051
- * functionality. This class extends AbstractMemberBaseType to handle
2052
- * the specific requirements of member elements that contain simplified
2053
- * member information with reference identifiers.
2054
- *
2055
- * The implementation processes member elements that primarily serve as
2056
- * lightweight references to more detailed member definitions, maintaining
2057
- * essential identification data including names, reference identifiers,
2058
- * and member kind classifications for cross-referencing purposes.
2059
- *
2060
- * @public
2061
- */
2062
- export declare abstract class AbstractMemberType extends AbstractMemberBaseType {
2063
- /**
2064
- * The unique reference identifier for the member element.
2065
- *
2066
- * @remarks
2067
- * Contains the Doxygen-generated unique identifier used for creating
2068
- * cross-references and hyperlinks to the detailed member definition.
2069
- * This identifier serves as the primary mechanism for linking between
2070
- * member references and their corresponding comprehensive definitions
2071
- * within the documentation system.
2072
- *
2073
- * @public
2074
- */
2075
- refid: string;
2076
- /**
2077
- * Constructs a new member type data model from XML element data.
2078
- *
2079
- * @param xml - The XML parser instance for processing element data
2080
- * @param element - The XML element containing member type information
2081
- * @param elementName - The name of the XML element being processed
2082
- *
2083
- * @remarks
2084
- * Processes the XML element representing simplified member information
2085
- * and extracts the essential identification data including name and
2086
- * reference identifier. The constructor handles the MemberType schema
2087
- * requirements whilst accommodating the practical deviation where
2088
- * member names may be empty in certain contexts.
2089
- *
2090
- * The implementation validates mandatory attributes (refid, kind) and
2091
- * ensures proper element structure according to the XML Schema
2092
- * definition for MemberType elements.
2093
- *
2094
- * @public
2095
- */
2096
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
2097
- }
2098
-
2099
- /**
2100
- * Abstract base class for parameter data models within documentation.
2101
- *
2102
- * @remarks
2103
- * Represents comprehensive parameter information as defined by the paramType
2104
- * XML Schema, handling function and method parameter definitions including
2105
- * type information, naming variations, default values, and constraints.
2106
- * This class processes the complete range of parameter metadata required
2107
- * for accurate function signature documentation.
2108
- *
2109
- * The implementation manages optional parameter elements including
2110
- * attributes, type specifications with linked text support, declaration
2111
- * and definition names, array specifications, default values, type
2112
- * constraints, and brief descriptions. All elements are optional,
2113
- * reflecting the flexible nature of parameter documentation within
2114
- * different programming contexts.
2115
- *
2116
- * @public
2117
- */
2118
- export declare abstract class AbstractParamType extends AbstractDataModelBase {
2119
- /**
2120
- * Parameter attributes specification string.
2121
- *
2122
- * @remarks
2123
- * Contains language-specific parameter attributes such as qualifiers,
2124
- * modifiers, or annotations that apply to the parameter declaration.
2125
- * This information provides additional context about parameter
2126
- * behaviour and constraints within the function signature.
2127
- *
2128
- * @public
2129
- */
2130
- attributes?: string | undefined;
2131
- /**
2132
- * Type information for the parameter with linked text support.
2133
- *
2134
- * @remarks
2135
- * Provides comprehensive type data including cross-references and
2136
- * embedded links to type definitions. This enables rich type
2137
- * presentation with navigation capabilities to related type
2138
- * documentation within the system.
2139
- *
2140
- * @public
2141
- */
2142
- type?: TypeDataModel | undefined;
2143
- /**
2144
- * The declared parameter name as it appears in the declaration.
2145
- *
2146
- * @remarks
2147
- * Contains the parameter name as specified in the function or method
2148
- * declaration, representing the formal parameter identifier used
2149
- * within the function signature for identification purposes.
2150
- *
2151
- * @public
2152
- */
2153
- declname?: string | undefined;
2154
- /**
2155
- * The defined parameter name as it appears in the definition.
2156
- *
2157
- * @remarks
2158
- * Contains the parameter name as used in the function or method
2159
- * definition, which may differ from the declaration name in contexts
2160
- * where declarations and definitions are separate (such as header
2161
- * and implementation files).
2162
- *
2163
- * @public
2164
- */
2165
- defname?: string | undefined;
2166
- /**
2167
- * Array specification information for array parameters.
2168
- *
2169
- * @remarks
2170
- * Contains array dimension information and specifications when the
2171
- * parameter represents an array type. This includes array bounds,
2172
- * size specifications, and dimensional characteristics essential
2173
- * for accurate parameter documentation.
2174
- *
2175
- * @public
2176
- */
2177
- array?: string | undefined;
2178
- /**
2179
- * Default value specification with linked text support.
2180
- *
2181
- * @remarks
2182
- * Provides the parameter's default value information including
2183
- * cross-references to related elements when the default value
2184
- * contains references to other documented entities. This enables
2185
- * comprehensive default value presentation with navigation
2186
- * capabilities.
2187
- *
2188
- * @public
2189
- */
2190
- defval?: DefValDataModel | undefined;
2191
- /**
2192
- * Type constraint information for template parameters.
2193
- *
2194
- * @remarks
2195
- * Contains constraint specifications for template or generic
2196
- * parameters, including concept requirements, type bounds, and
2197
- * constraint expressions. This information is essential for
2198
- * documenting modern C++ concepts and generic programming
2199
- * constraints.
2200
- *
2201
- * @public
2202
- */
2203
- typeconstraint?: TypeConstraintDataModel | undefined;
2204
- /**
2205
- * Brief description documentation for the parameter.
2206
- *
2207
- * @remarks
2208
- * Provides concise parameter documentation including purpose,
2209
- * usage notes, and essential parameter information. This
2210
- * description enhances parameter understanding within function
2211
- * documentation and API reference materials.
2212
- *
2213
- * @public
2214
- */
2215
- briefdescription?: BriefDescriptionDataModel | undefined;
2216
- /**
2217
- * Constructs a new parameter data model from XML element data.
2218
- *
2219
- * @param xml - The XML parser instance for processing element data
2220
- * @param element - The XML element containing parameter information
2221
- * @param elementName - The name of the XML element being processed
2222
- *
2223
- * @remarks
2224
- * Processes the XML element representing parameter information and
2225
- * extracts all available parameter metadata including attributes,
2226
- * type specifications, naming variations, default values, constraints,
2227
- * and descriptions. The constructor handles the paramType schema
2228
- * requirements where all elements are optional, reflecting the
2229
- * flexible nature of parameter documentation.
2230
- *
2231
- * The implementation processes various parameter representations
2232
- * including simple parameters, array parameters, template parameters
2233
- * with constraints, and parameters with default values. It ensures
2234
- * proper extraction of linked text elements that contain embedded
2235
- * cross-references to related documentation entities.
2236
- *
2237
- * @public
2238
- */
2239
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
2240
- }
2241
-
2242
- /**
2243
- * Abstract base class for reference type data models.
2244
- *
2245
- * @remarks
2246
- * Represents the foundational structure for reference relationship elements
2247
- * within Doxygen XML documentation, corresponding to the referenceType
2248
- * complex type in the XML schema. This class manages bidirectional reference
2249
- * relationships between documented entities, capturing both the descriptive
2250
- * text and precise location information including line number ranges. The
2251
- * reference system enables comprehensive dependency tracking and cross-
2252
- * referencing capabilities, essential for understanding code relationships
2253
- * and generating accurate documentation navigation structures.
2254
- *
2255
- * @public
2256
- */
2257
- export declare abstract class AbstractReferenceType extends AbstractDataModelBase {
2258
- /**
2259
- * The descriptive text content for this reference relationship.
2260
- *
2261
- * @remarks
2262
- * Contains the textual description of the reference relationship, typically
2263
- * including the name or signature of the referenced entity. This text
2264
- * provides human-readable context about the relationship and is used for
2265
- * display purposes within the generated documentation. Note that this
2266
- * property is not explicitly defined in the XML schema DTD but appears
2267
- * in practice within reference elements.
2268
- */
2269
- text: string;
2270
- /**
2271
- * The unique reference identifier for the referenced entity.
2272
- *
2273
- * @remarks
2274
- * Mandatory attribute that provides a unique identifier for the entity
2275
- * being referenced. This identifier enables precise linking and cross-
2276
- * referencing between documentation elements, allowing navigation to the
2277
- * detailed documentation of the referenced item within the documentation
2278
- * structure.
2279
- */
2280
- refid: string;
2281
- /**
2282
- * The starting line number where the reference occurs.
2283
- *
2284
- * @remarks
2285
- * Specifies the line number in the source code where the reference
2286
- * relationship begins. This location information enables precise source
2287
- * code navigation and helps establish the exact context of the reference
2288
- * within the original source files. Note that this attribute may be missing
2289
- * in some reference elements despite being defined as mandatory in the
2290
- * XML schema.
2291
- */
2292
- startline: number | undefined;
2293
- /**
2294
- * The ending line number where the reference concludes.
2295
- *
2296
- * @remarks
2297
- * Specifies the line number in the source code where the reference
2298
- * relationship ends. Combined with the starting line, this provides a
2299
- * complete range for the reference occurrence, enabling precise source
2300
- * code highlighting and navigation capabilities. Note that this attribute
2301
- * may be missing in some reference elements despite being defined as
2302
- * mandatory in the XML schema.
2303
- */
2304
- endline: number | undefined;
2305
- /**
2306
- * The compound reference identifier for the containing entity.
2307
- *
2308
- * @remarks
2309
- * Optional attribute that provides the identifier of the compound entity
2310
- * (such as a class or namespace) that contains the referenced item. This
2311
- * additional context enables more precise navigation and helps establish
2312
- * the hierarchical relationship between the referencing and referenced
2313
- * entities within the documentation structure.
2314
- */
2315
- compoundref?: string | undefined;
2316
- /**
2317
- * Constructs a new abstract reference type from XML data.
2318
- *
2319
- * @param xml - The Doxygen XML parser instance
2320
- * @param element - The XML element containing reference relationship data
2321
- * @param elementName - The expected XML element name
2322
- *
2323
- * @remarks
2324
- * Parses the provided XML element to construct a complete reference
2325
- * relationship data model. The parsing process extracts the textual content
2326
- * from the element and processes all defined attributes including the
2327
- * mandatory refid attribute, line number information, and optional compound
2328
- * reference data. Validation ensures that the reference identifier is
2329
- * present, maintaining the integrity of the reference relationship
2330
- * documentation.
2331
- */
2332
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
2333
- }
2334
-
2335
- /**
2336
- * Abstract base class for reference type data models.
2337
- *
2338
- * @remarks
2339
- * Represents the foundational structure for reference elements within Doxygen
2340
- * XML documentation, corresponding to the refType complex type in the XML
2341
- * schema. This class manages references to various documented entities such
2342
- * as classes, namespaces, files, folders, modules, pages, and groups. Each
2343
- * reference includes the entity name, a unique identifier for linking, and
2344
- * optional protection and inline attributes. All concrete reference
2345
- * implementations should extend this base to ensure consistent structure
2346
- * and parsing behaviour across different reference types.
2347
- *
2348
- * @public
2349
- */
2350
- export declare abstract class AbstractRefType extends AbstractDataModelBase {
2351
- /**
2352
- * The name of the referenced entity.
2353
- *
2354
- * @remarks
2355
- * Mandatory element containing the textual name of the referenced entity,
2356
- * passed as the element's text content. This name provides human-readable
2357
- * identification of the referenced item and is used for display and
2358
- * navigation purposes within the generated documentation.
2359
- */
2360
- text: string;
2361
- /**
2362
- * The unique reference identifier for the referenced entity.
2363
- *
2364
- * @remarks
2365
- * Mandatory attribute that provides a unique identifier for the referenced
2366
- * entity within the Doxygen documentation system. This identifier enables
2367
- * precise linking and cross-referencing between documentation elements,
2368
- * allowing navigation to the detailed documentation of the referenced item.
2369
- */
2370
- refid: string;
2371
- /**
2372
- * The protection level of the referenced entity.
2373
- *
2374
- * @remarks
2375
- * Optional attribute specifying the protection level according to the
2376
- * DoxProtectionKind enumeration. Values include 'public', 'protected',
2377
- * 'private', and 'package', indicating the accessibility scope of the
2378
- * referenced entity within its containing context.
2379
- */
2380
- prot?: string | undefined;
2381
- /**
2382
- * Indicates whether the referenced entity is inline.
2383
- *
2384
- * @remarks
2385
- * Optional boolean attribute that specifies whether the referenced entity
2386
- * is defined inline within its containing context. This information affects
2387
- * how the entity is presented and processed in the generated documentation,
2388
- * particularly for inline classes, functions, or other code constructs.
2389
- */
2390
- inline?: boolean | undefined;
2391
- /**
2392
- * Constructs a new abstract reference type from XML data.
2393
- *
2394
- * @param xml - The Doxygen XML parser instance
2395
- * @param element - The XML element containing reference data
2396
- * @param elementName - The expected XML element name
2397
- *
2398
- * @remarks
2399
- * Parses the provided XML element to construct a complete reference data
2400
- * model. The parsing process extracts the textual content from the element
2401
- * and processes all defined attributes including the mandatory refid and
2402
- * optional protection and inline attributes. Validation ensures that both
2403
- * the reference name and identifier are present and non-empty, maintaining
2404
- * the integrity of the reference documentation.
2405
- */
2406
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
2407
- }
2408
-
2409
- /**
2410
- * Abstract base class for reimplement type data models.
2411
- *
2412
- * @remarks
2413
- * Represents the foundational structure for reimplement relationship elements
2414
- * within Doxygen XML documentation, corresponding to the reimplementType
2415
- * complex type in the XML schema. This class manages relationships between
2416
- * methods, functions, or other documented entities that implement or override
2417
- * behaviour from base classes or interfaces. The reimplement relationship
2418
- * captures both the descriptive text and the reference identifier for the
2419
- * related entity, enabling comprehensive documentation of inheritance and
2420
- * polymorphic behaviours within the codebase.
2421
- *
2422
- * @public
2423
- */
2424
- export declare abstract class AbstractReimplementType extends AbstractDataModelBase {
2425
- /**
2426
- * The descriptive text content for this reimplement relationship.
2427
- *
2428
- * @remarks
2429
- * Mandatory element containing the textual description of the reimplement
2430
- * relationship. This text typically includes the signature or name of the
2431
- * reimplemented entity, providing human-readable context about the
2432
- * relationship between the current entity and the referenced implementation.
2433
- */
2434
- text: string;
2435
- /**
2436
- * The reference identifier for the reimplemented entity.
2437
- *
2438
- * @remarks
2439
- * Mandatory attribute that provides a unique identifier for the entity
2440
- * being reimplemented. This reference enables linking and cross-referencing
2441
- * between related documentation elements, allowing navigation between
2442
- * implementations and their base declarations within the generated
2443
- * documentation structure.
2444
- */
2445
- refId: string;
2446
- /**
2447
- * Constructs a new abstract reimplement type from XML data.
2448
- *
2449
- * @param xml - The Doxygen XML parser instance
2450
- * @param element - The XML element containing reimplement relationship data
2451
- * @param elementName - The expected XML element name
2452
- *
2453
- * @remarks
2454
- * Parses the provided XML element to construct a complete reimplement
2455
- * relationship data model. The parsing process extracts the textual content
2456
- * from the element and processes the mandatory refid attribute. Validation
2457
- * ensures that both the descriptive text and reference identifier are
2458
- * present and non-empty, maintaining the integrity of the reimplement
2459
- * relationship documentation.
2460
- */
2461
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
2462
- }
2463
-
2464
- /**
2465
- * Abstract class for XML-parsed section definition types.
2466
- *
2467
- * @remarks
2468
- * Extends the base section definition type to provide XML parsing capabilities
2469
- * for constructing section definition data models from Doxygen XML elements.
2470
- * This class handles the complete parsing process including attributes, inner
2471
- * elements, headers, descriptions, and member collections. All concrete
2472
- * section definition implementations that require XML parsing should extend
2473
- * this class to benefit from the standardised parsing infrastructure.
2474
- *
2475
- * @public
2476
- */
2477
- export declare abstract class AbstractSectionDefType extends AbstractSectionDefTypeBase {
2478
- /**
2479
- * Constructs a new abstract section definition type from XML data.
2480
- *
2481
- * @param xml - The Doxygen XML parser instance
2482
- * @param element - The XML element containing section definition data
2483
- * @param elementName - The expected XML element name
2484
- *
2485
- * @remarks
2486
- * Parses the provided XML element to construct a complete section definition
2487
- * data model. The parsing process handles all defined inner elements
2488
- * including headers, descriptions, member definitions, and member references,
2489
- * as well as the mandatory kind attribute. Validation ensures that required
2490
- * elements and attributes are present and conform to the expected XML schema
2491
- * structure.
2492
- */
2493
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
2494
- }
2495
-
2496
- /**
2497
- * Abstract base class for section definition type data models.
2498
- *
2499
- * @remarks
2500
- * Represents the foundational structure for section definition elements
2501
- * within Doxygen XML documentation, corresponding to the sectiondefType
2502
- * complex type in the XML schema. This class provides the core properties
2503
- * and utility methods for managing section definitions, including kind
2504
- * classification, optional headers and descriptions, and member collections.
2505
- * All concrete section definition classes should extend this base to ensure
2506
- * consistent structure and behaviour.
2507
- *
2508
- * @public
2509
- */
2510
- export declare abstract class AbstractSectionDefTypeBase extends AbstractDataModelBase {
2511
- /**
2512
- * The kind classification of this section definition.
2513
- *
2514
- * @remarks
2515
- * Mandatory attribute that specifies the type of section, corresponding
2516
- * to the DoxSectionKind enumeration in the XML schema. This classification
2517
- * determines how the section is processed and presented in the documentation.
2518
- */
2519
- kind: string;
2520
- /**
2521
- * The optional header text for this section.
2522
- *
2523
- * @remarks
2524
- * Optional element that provides a title or heading for the section.
2525
- * When present, this header is used for display and navigation purposes
2526
- * within the generated documentation.
2527
- */
2528
- header?: string | undefined;
2529
- /**
2530
- * The optional description content for this section.
2531
- *
2532
- * @remarks
2533
- * Optional element containing detailed description information for the
2534
- * section. This description provides context and documentation about
2535
- * the section's purpose and contents.
2536
- */
2537
- description?: DescriptionDataModel | undefined;
2538
- /**
2539
- * Collection of member definition data models.
2540
- *
2541
- * @remarks
2542
- * Optional array containing detailed member definitions for this section.
2543
- * This collection is mutually exclusive with the members array, as per
2544
- * the XML schema choice constraint. Each member definition provides
2545
- * comprehensive information about documented entities.
2546
- */
2547
- memberDefs?: MemberDefDataModel[] | undefined;
2548
- /**
2549
- * Collection of member reference data models.
2550
- *
2551
- * @remarks
2552
- * Optional array containing member references for this section. This
2553
- * collection is mutually exclusive with the memberDefs array, as per
2554
- * the XML schema choice constraint. Each member reference provides
2555
- * summary information and links to detailed definitions.
2556
- */
2557
- members?: MemberDataModel[] | undefined;
2558
- /**
2559
- * Constructs a new abstract section definition type base instance.
2560
- *
2561
- * @param elementName - The XML element name for this section definition
2562
- * @param kind - The section kind classification
2563
- *
2564
- * @remarks
2565
- * Initialises the base properties for a section definition, establishing
2566
- * the element name and kind classification that will be used throughout
2567
- * the processing lifecycle.
2568
- */
2569
- constructor(elementName: string, kind: string);
2570
- /**
2571
- * Determines whether this section contains any member information.
2572
- *
2573
- * @returns True if the section has member definitions or member references
2574
- *
2575
- * @remarks
2576
- * Utility method that checks for the presence of either member definitions
2577
- * or member references within this section. This is useful for determining
2578
- * whether the section requires member processing or can be treated as
2579
- * documentation-only content.
2580
- */
2581
- hasMembers(): boolean;
2582
- /**
2583
- * Computes an adjusted kind string based on section and member suffixes.
2584
- *
2585
- * @param sectionSuffix - The suffix to apply for section-based adjustments
2586
- * @param memberSuffix - The suffix to apply for member-based adjustments
2587
- * @returns The adjusted kind string
2588
- *
2589
- * @remarks
2590
- * Transforms the section kind for specific member types, such as converting
2591
- * 'public-func' into more specific kinds like 'public-constructor',
2592
- * 'public-destructor', or 'public-operator'. For user-defined sections,
2593
- * returns the member suffix directly. For hyphenated kinds, replaces the
2594
- * final component with the section suffix. Otherwise, returns the member
2595
- * suffix as the default behaviour.
2596
- */
2597
- computeAdjustedKind(sectionSuffix: string, memberSuffix?: string): string;
2598
- }
2599
-
2600
- /**
2601
- * Abstract base class for table of contents kind type data models.
2602
- *
2603
- * @remarks
2604
- * Represents table of contents kind elements within Doxygen XML structures,
2605
- * corresponding to the tableofcontentsKindType complex type in the XML
2606
- * schema. This class handles the parsing of named table of contents sections
2607
- * with references and optional nested table of contents structures. All
2608
- * concrete table of contents kind data model classes should extend this
2609
- * abstract base to ensure consistent parsing and data representation.
2610
- *
2611
- * @public
2612
- */
2613
- export declare abstract class AbstractTableOfContentsKindType extends AbstractDataModelBase {
2614
- /**
2615
- * The name of the table of contents section.
2616
- *
2617
- * @remarks
2618
- * Mandatory element extracted from the XML structure that provides
2619
- * the display name or title for this table of contents section.
2620
- * This name is used for navigation and presentation purposes.
2621
- */
2622
- name: string;
2623
- /**
2624
- * The reference identifier for this table of contents section.
2625
- *
2626
- * @remarks
2627
- * Mandatory element that provides a reference or link target for
2628
- * this table of contents section. This reference is used to create
2629
- * navigation links and cross-references within the documentation.
2630
- */
2631
- reference: string;
2632
- /**
2633
- * Collection of nested table of contents data models.
2634
- *
2635
- * @remarks
2636
- * Optional array containing nested table of contents elements that
2637
- * create hierarchical documentation structures. This allows for
2638
- * multi-level table of contents organisation with subsections and
2639
- * sub-subsections as needed.
2640
- */
2641
- tableOfContents: TableOfContentsDataModel[] | undefined;
2642
- /**
2643
- * Constructs a new AbstractTableOfContentsKindType instance from XML data.
2644
- *
2645
- * @param xml - The Doxygen XML parser instance for processing XML elements
2646
- * @param element - The XML element containing the table of contents kind data
2647
- * @param elementName - The name of the XML element being processed
2648
- *
2649
- * @remarks
2650
- * Parses the provided XML element to extract table of contents kind
2651
- * information including mandatory name and reference elements, along with
2652
- * optional nested table of contents structures. The constructor handles
2653
- * unknown 'docs' elements that may appear but are not defined in the DTD.
2654
- * This element type has no attributes as per the XML schema.
2655
- */
2656
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
2657
- }
2658
-
2659
- /**
2660
- * Abstract base class for table of contents type data models.
2661
- *
2662
- * @remarks
2663
- * Represents table of contents elements within Doxygen XML structures,
2664
- * corresponding to the tableofcontentsType complex type in the XML schema.
2665
- * This class handles the parsing of table of contents structures with
2666
- * mutually exclusive content choices: either table of contents sections
2667
- * or nested table of contents elements. All concrete table of contents
2668
- * data model classes should extend this abstract base to ensure consistent
2669
- * parsing and data representation.
2670
- *
2671
- * @public
2672
- */
2673
- export declare abstract class AbstractTableOfContentsType extends AbstractDataModelBase {
2674
- /**
2675
- * Collection of table of contents section data models.
2676
- *
2677
- * @remarks
2678
- * Optional array containing table of contents section elements, part
2679
- * of an exclusive choice with tableOfContents. Each section represents
2680
- * a specific part of the documentation structure with its own name,
2681
- * reference, and potentially nested content.
2682
- */
2683
- tocSect: TocSectDataModel[] | undefined;
2684
- /**
2685
- * Collection of nested table of contents data models.
2686
- *
2687
- * @remarks
2688
- * Optional array containing nested table of contents elements, part
2689
- * of an exclusive choice with tocSect. This allows for recursive
2690
- * table of contents structures to represent complex documentation
2691
- * hierarchies.
2692
- */
2693
- tableOfContents: TableOfContentsDataModel[] | undefined;
2694
- /**
2695
- * Constructs a new AbstractTableOfContentsType instance from XML data.
2696
- *
2697
- * @param xml - The Doxygen XML parser instance for processing XML elements
2698
- * @param element - The XML element containing the table of contents data
2699
- * @param elementName - The name of the XML element being processed
2700
- *
2701
- * @remarks
2702
- * Parses the provided XML element to extract table of contents information
2703
- * following the exclusive choice pattern defined in the XML schema. The
2704
- * constructor processes either table of contents sections or nested table
2705
- * of contents elements, but not both, maintaining the mutually exclusive
2706
- * relationship. This element type has no attributes as per the schema.
2707
- */
2708
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
2709
- }
2710
-
2711
- /**
2712
- * Abstract base class for template parameter list type data models.
2713
- *
2714
- * @remarks
2715
- * Represents template parameter list elements within Doxygen XML structures,
2716
- * corresponding to the templateparamlistType complex type in the XML schema.
2717
- * This class handles the parsing of parameter collections for templated
2718
- * constructs such as template classes and functions. All concrete template
2719
- * parameter list data model classes should extend this abstract base to
2720
- * ensure consistent parsing and data representation.
2721
- *
2722
- * @public
2723
- */
2724
- export declare abstract class AbstractTemplateParamListType extends AbstractDataModelBase {
2725
- /**
2726
- * Collection of parameter data models within this template parameter list.
2727
- *
2728
- * @remarks
2729
- * Optional array containing parameter elements found within the template
2730
- * parameter list structure. Each parameter represents a template parameter
2731
- * definition including its type, name, and other attributes. The array
2732
- * supports zero to many parameters as per the XML schema, accommodating
2733
- * both non-templated constructs and complex template declarations.
2734
- */
2735
- params?: ParamDataModel[] | undefined;
2736
- /**
2737
- * Constructs a new AbstractTemplateParamListType instance from XML data.
2738
- *
2739
- * @param xml - The Doxygen XML parser instance for processing XML elements
2740
- * @param element - The XML element containing the template parameter list
2741
- * data
2742
- * @param elementName - The name of the XML element being processed
2743
- *
2744
- * @remarks
2745
- * Parses the provided XML element to extract template parameter list
2746
- * information including parameter collections. The constructor processes
2747
- * parameter elements into ParamDataModel instances when present. This
2748
- * element type has no attributes as per the XML schema definition,
2749
- * containing only parameter child elements.
2750
- */
2751
- constructor(xml: DoxygenXmlParser, element: object, elementName: string);
2752
- }
2753
-
2754
- /**
2755
- * Data model for base compound references in inheritance relationships.
2756
- *
2757
- * @remarks
2758
- * Represents references to base classes or parent compounds in inheritance
2759
- * hierarchies as documented by Doxygen. This class handles the
2760
- * 'basecompoundref' XML elements that establish parent-child relationships
2761
- * in object-oriented documentation structures.
2762
- *
2763
- * @public
2764
- */
2765
- export declare class BaseCompoundRefDataModel extends AbstractCompoundRefType {
2766
- /**
2767
- * Constructs a new BaseCompoundRefDataModel instance.
2768
- *
2769
- * @remarks
2770
- * Creates a data model object for 'basecompoundref' XML elements,
2771
- * representing inheritance relationships where the current compound
2772
- * derives from the referenced base compound.
2773
- *
2774
- * @param xml - The XML parser instance for processing elements
2775
- * @param element - The XML element object to parse
2776
- */
2777
- constructor(xml: DoxygenXmlParser, element: object);
2778
- }
2779
-
2780
- /**
2781
- * Data model for brief description elements within documentation.
2782
- *
2783
- * @remarks
2784
- * Represents brief description elements that provide concise summary
2785
- * content for entities. This implementation processes Doxygen's
2786
- * briefdescription elements, which contain short descriptive content
2787
- * used for entity summaries, overviews, and quick reference information
2788
- * within documentation structures.
2789
- *
2790
- * Brief descriptions are typically displayed in listings, summaries,
2791
- * and overview sections to provide immediate context about documented
2792
- * entities without requiring full detailed descriptions.
2793
- *
2794
- * @public
2795
- */
2796
- export declare class BriefDescriptionDataModel extends AbstractDescriptionType {
2797
- /**
2798
- * Constructs a BriefDescriptionDataModel from XML element data.
2799
- *
2800
- * @param xml - The Doxygen XML parser instance for processing XML content
2801
- * @param element - The XML element object containing the brief description
2802
- * data
2803
- *
2804
- * @remarks
2805
- * This constructor delegates to the parent AbstractDescriptionType whilst
2806
- * identifying the element as 'briefdescription' for concise summary
2807
- * content processing and documentation organisation.
2808
- */
2809
- constructor(xml: DoxygenXmlParser, element: object);
2810
- }
2811
-
2812
- /**
2813
- * Configuration options as specified by users in configuration files.
2814
- *
2815
- * @remarks
2816
- * All options are optional and can be either string or boolean values
2817
- * depending on the specific configuration property.
2818
- *
2819
- * @public
2820
- */
2821
- declare type CliConfigurationOptions = Record<string, string | boolean>;
2822
-
2823
- /**
2824
- * Comprehensive CLI options class for documentation generation configuration.
2825
- *
2826
- * @remarks
2827
- * The CliOptions class contains all configuration parameters that control
2828
- * the behaviour of the doxygen2docusaurus conversion process, including
2829
- * paths, URLs, styling, and feature toggles.
2830
- *
2831
- * @public
2832
- */
2833
- export declare class CliOptions {
2834
- /**
2835
- * Path to the Doxygen XML input folder relative to the website folder.
2836
- *
2837
- * @remarks
2838
- * Specifies the location of XML files generated by Doxygen, typically
2839
- * containing the parsed documentation data. Path should not include
2840
- * initial or final slashes.
2841
- *
2842
- * @defaultValue 'doxygen/xml'
2843
- */
2844
- doxygenXmlInputFolderPath: string;
2845
- /**
2846
- * Path to the documentation folder relative to the website folder.
2847
- *
2848
- * @remarks
2849
- * Defines the base folder where generated documentation will be placed
2850
- * within the Docusaurus website structure. Path should not include
2851
- * initial or final slashes.
2852
- *
2853
- * @defaultValue 'docs'
2854
- */
2855
- docsFolderPath: string;
2856
- /**
2857
- * Path to the API documentation folder relative to the docs folder.
2858
- *
2859
- * @remarks
2860
- * Specifies the subfolder within the docs folder where API reference
2861
- * documentation will be generated. Path should not include initial
2862
- * or final slashes.
2863
- *
2864
- * @defaultValue 'api'
2865
- */
2866
- apiFolderPath: string;
2867
- /**
2868
- * Base URL for the entire website.
2869
- *
2870
- * @remarks
2871
- * Defines the root URL path for the website, typically '/' for root
2872
- * deployment or '/project-name/' for GitHub Pages or similar hosting.
2873
- *
2874
- * @defaultValue '/'
2875
- */
2876
- baseUrl: string;
2877
- /**
2878
- * URL path to the documentation section relative to the website root.
2879
- *
2880
- * @remarks
2881
- * Specifies the URL segment that leads to the documentation section,
2882
- * without initial or final slashes. Used for navigation and linking.
2883
- *
2884
- * @defaultValue 'docs'
2885
- */
2886
- docsBaseUrl: string;
2887
- /**
2888
- * URL path to the API documentation relative to the docs section.
2889
- *
2890
- * @remarks
2891
- * Defines the URL segment for API documentation within the docs section,
2892
- * without initial or final slashes. Used for generating navigation links.
2893
- *
2894
- * @defaultValue 'api'
2895
- */
2896
- apiBaseUrl: string;
2897
- /**
2898
- * Path for images relative to the `static` folder.
2899
- *
2900
- * @remarks
2901
- * Specifies where Doxygen-generated images will be stored within the
2902
- * Docusaurus static assets folder structure.
2903
- *
2904
- * @defaultValue 'assets/images/doxygen'
2905
- */
2906
- imagesFolderPath: string;
2907
- /**
2908
- * Output folder for compatibility redirect files.
2909
- *
2910
- * @remarks
2911
- * Optional path relative to the website/static folder where HTML redirect
2912
- * files will be generated to maintain compatibility with original Doxygen
2913
- * URLs. When undefined, no redirect files are created.
2914
- */
2915
- compatibilityRedirectsOutputFolderPath?: string | undefined;
2916
- /**
2917
- * Title displayed on the main API documentation page.
2918
- *
2919
- * @remarks
2920
- * When specified, this title overrides the default title generated from
2921
- * the project brief. When empty, the title is automatically constructed
2922
- * from the project configuration.
2923
- *
2924
- * @defaultValue ''
2925
- */
2926
- mainPageTitle: string;
2927
- /**
2928
- * Path to the sidebar category configuration file.
2929
- *
2930
- * @remarks
2931
- * Specifies the location where the generated sidebar category JSON
2932
- * configuration will be written, relative to the current website folder.
2933
- *
2934
- * @defaultValue 'sidebar-category-doxygen.json'
2935
- */
2936
- sidebarCategoryFilePath: string;
2937
- /**
2938
- * Label displayed in the Docusaurus sidebar for the API documentation.
2939
- *
2940
- * @remarks
2941
- * Short descriptive text that appears in the sidebar navigation to
2942
- * identify the API reference section.
2943
- *
2944
- * @defaultValue 'API Reference (Doxygen)'
2945
- */
2946
- sidebarCategoryLabel: string;
2947
- /**
2948
- * Path to the navbar configuration file.
2949
- *
2950
- * @remarks
2951
- * Specifies the location where the generated navbar dropdown JSON
2952
- * configuration will be written, relative to the current website folder.
2953
- *
2954
- * @defaultValue 'docusaurus-config-navbar-doxygen.json'
2955
- */
2956
- navbarFilePath: string;
2957
- /**
2958
- * Label displayed in the top navigation bar.
2959
- *
2960
- * @remarks
2961
- * Short text that appears in the Docusaurus top navigation bar to
2962
- * provide access to the API documentation section.
2963
- *
2964
- * @defaultValue 'Reference'
2965
- */
2966
- navbarLabel: string;
2967
- /**
2968
- * Position of the navigation menu in the top bar.
2969
- *
2970
- * @remarks
2971
- * Determines whether the API documentation menu appears on the left
2972
- * or right side of the Docusaurus navigation bar.
2973
- *
2974
- * @defaultValue 'left'
2975
- */
2976
- navbarPosition: 'left' | 'right';
2977
- /**
2978
- * Path to the custom CSS file for styling overrides.
2979
- *
2980
- * @remarks
2981
- * Specifies the location where custom CSS styles will be written to
2982
- * provide Doxygen-specific styling within the Docusaurus theme.
2983
- * Path is relative to the current website folder.
2984
- *
2985
- * @defaultValue 'src/css/custom-doxygen2docusaurus.css'
2986
- */
2987
- customCssFilePath: string;
2988
- /**
2989
- * Controls verbose output during the conversion process.
2990
- *
2991
- * @remarks
2992
- * When enabled, provides detailed logging information about the
2993
- * conversion process, including file processing status and statistics.
2994
- *
2995
- * @defaultValue false
2996
- */
2997
- verbose: boolean;
2998
- /**
2999
- * Controls debug-level output during the conversion process.
3000
- *
3001
- * @remarks
3002
- * When enabled, provides extensive debugging information useful for
3003
- * troubleshooting issues. Automatically enables verbose output as well.
3004
- *
3005
- * @defaultValue false
3006
- */
3007
- debug: boolean;
3008
- /**
3009
- * Controls whether TODO suggestion descriptions are displayed.
3010
- *
3011
- * @remarks
3012
- * When enabled, shows suggestions for improvements or missing content
3013
- * that could enhance the generated documentation quality.
3014
- *
3015
- * @defaultValue false
3016
- */
3017
- suggestToDoDescriptions: boolean;
3018
- /**
3019
- * Controls whether pages are listed at the top of the sidebar.
3020
- *
3021
- * @remarks
3022
- * When enabled, places page links prominently at the top of the sidebar
3023
- * navigation structure for easier access to important pages.
3024
- *
3025
- * @defaultValue true
3026
- */
3027
- listPagesAtTop: boolean;
3028
- /**
3029
- * Controls program listing rendering in File pages.
3030
- *
3031
- * @remarks
3032
- * When enabled, includes syntax-highlighted source code listings
3033
- * within the generated File documentation pages.
3034
- *
3035
- * @defaultValue true
3036
- */
3037
- renderProgramListing: boolean;
3038
- /**
3039
- * Controls program listing rendering in member definition sections.
3040
- *
3041
- * @remarks
3042
- * When enabled, includes inline syntax-highlighted code snippets
3043
- * within member documentation sections for better context.
3044
- *
3045
- * @defaultValue true
3046
- */
3047
- renderProgramListingInline: boolean;
3048
- /**
3049
- * Note about the location of original Doxygen pages.
3050
- *
3051
- * @remarks
3052
- * Provides information about where to find the original Doxygen HTML
3053
- * pages for comparison purposes. When populated, this note is displayed
3054
- * to inform users about the availability of alternative documentation
3055
- * formats.
3056
- */
3057
- originalPagesNote: string;
3058
- /**
3059
- * String identifier for distinguishing multiple configuration instances.
3060
- *
3061
- * @remarks
3062
- * Used when multiple configuration instances exist to provide unique
3063
- * identification. Particularly useful in multi-configuration scenarios
3064
- * where different settings need to be applied to different outputs.
3065
- *
3066
- * @defaultValue 'default'
3067
- */
3068
- id: string;
3069
- /**
3070
- * Creates a new CliOptions instance with the specified command options.
3071
- *
3072
- * @remarks
3073
- * Initialises the configuration object by setting the ID and optional
3074
- * flags like verbose and debug. When the ID is not 'default', adjusts
3075
- * folder paths and file names to include the ID for multi-configuration
3076
- * scenarios.
3077
- *
3078
- * @param commandOptions - Command-line options object containing ID and flags
3079
- */
3080
- constructor(commandOptions: CommandOptions);
3081
- /**
3082
- * Parses configuration options from various JSON configuration sources.
3083
- *
3084
- * @remarks
3085
- * Attempts to load configuration from multiple locations in order of
3086
- * preference: config/doxygen2docusaurus.json, doxygen2docusaurus.json,
3087
- * and package.json. Validates required properties and enables debug
3088
- * output if requested.
3089
- *
3090
- * @throws Assertion error if required configuration properties are missing
3091
- */
3092
- parse(): Promise<void>;
3093
- /**
3094
- * Selects the appropriate configuration from multi-configuration options.
3095
- *
3096
- * @remarks
3097
- * When using a specific ID, returns the corresponding configuration.
3098
- * For the default ID, returns either the 'default' configuration or
3099
- * treats the entire object as a single configuration.
3100
- *
3101
- * @param multiConfigurations - Configuration object or multi-config map
3102
- * @returns Selected configuration options or undefined if not found
3103
- */
3104
- selectMultiConfiguration(multiConfigurations: CliConfigurationOptions | MultiConfigurations): CliConfigurationOptions | undefined;
3105
- }
3106
-
3107
- /**
3108
- * Data model for individual code line elements within program listings.
3109
- *
3110
- * @remarks
3111
- * Represents a single line of source code with optional syntax highlighting,
3112
- * line numbering, and cross-reference information. This implementation
3113
- * processes Doxygen's codeline elements, which form the fundamental
3114
- * building blocks of program listings and code examples within the
3115
- * documentation.
3116
- *
3117
- * @public
3118
- */
3119
- export declare class CodeLineDataModel extends AbstractCodeLineType {
3120
- /**
3121
- * Constructs a CodeLineDataModel from XML element data.
3122
- *
3123
- * @param xml - The Doxygen XML parser instance for processing XML content
3124
- * @param element - The XML element object containing the codeline data
3125
- *
3126
- * @remarks
3127
- * This constructor delegates to the parent AbstractCodeLineType to handle
3128
- * the standard code line processing whilst specifically identifying the
3129
- * element as a 'codeline' type for proper XML schema compliance.
3130
- */
3131
- constructor(xml: DoxygenXmlParser, element: object);
3132
- }
3133
-
3134
- /**
3135
- * Command line argument options passed to the application.
3136
- *
3137
- * @remarks
3138
- * Represents the parsed command line arguments with flexible typing
3139
- * to accommodate various option formats and undefined values.
3140
- *
3141
- * @public
3142
- */
3143
- declare type CommandOptions = Record<string, string | boolean | undefined>;
3144
-
3145
- /**
3146
- * Concrete implementation of compound definition data model.
3147
- *
3148
- * @remarks
3149
- * Provides the primary data model implementation for Doxygen compound
3150
- * definitions, handling all types of compounds including classes, structures,
3151
- * files, namespaces, and pages. This class serves as the main entry point
3152
- * for processing compound definition XML elements in the Doxygen output.
3153
- *
3154
- * @public
3155
- */
3156
- export declare class CompoundDefDataModel extends AbstractCompoundDefType {
3157
- /**
3158
- * Constructs a new CompoundDefDataModel instance.
3159
- *
3160
- * @remarks
3161
- * Creates a data model object for 'compounddef' XML elements by delegating
3162
- * to the parent constructor with the appropriate element name. This
3163
- * represents the root element for all compound definitions in Doxygen XML
3164
- * output.
3165
- *
3166
- * @param xml - The XML parser instance for processing elements
3167
- * @param element - The XML element object to parse
3168
- */
3169
- constructor(xml: DoxygenXmlParser, element: object);
3170
- }
3171
-
3172
- /**
3173
- * Top-level data model class for orchestrating Doxygen XML parsing and data
3174
- * organisation.
3175
- *
3176
- * @remarks
3177
- * This class serves as the primary entry point for parsing Doxygen-generated
3178
- * XML files and constructing a comprehensive data model. It coordinates the
3179
- * parsing of index files, compound definitions, and configuration files,
3180
- * maintaining references to all parsed content for subsequent processing.
3181
- * The class provides methods for sequential parsing operations and ensures
3182
- * data integrity throughout the parsing workflow.
3183
- *
3184
- * @public
3185
- */
3186
- export declare class DataModel {
3187
- /**
3188
- * The global configuration options for the parsing operation.
3189
- *
3190
- * @remarks
3191
- * Contains command-line interface options that control the behaviour of
3192
- * the parser and influence how XML files are processed and data models
3193
- * are constructed.
3194
- */
3195
- options: CliOptions;
3196
- /**
3197
- * The XML parser instance used for processing Doxygen XML files.
3198
- *
3199
- * @remarks
3200
- * Provides low-level XML parsing functionality and utility methods for
3201
- * extracting elements, attributes, and text content from the parsed XML
3202
- * structure.
3203
- */
3204
- xml: DoxygenXmlParser;
3205
- /**
3206
- * Counter tracking the number of XML files successfully parsed.
3207
- *
3208
- * @remarks
3209
- * Incremented for each XML file processed during the parsing operation,
3210
- * providing metrics for progress monitoring and diagnostic reporting.
3211
- *
3212
- * @defaultValue 0
3213
- */
3214
- parsedFilesCounter: number;
3215
- /**
3216
- * The parsed Doxygen index data model from the main index XML file.
3217
- *
3218
- * @remarks
3219
- * Contains the top-level index structure that references all compound
3220
- * definitions and provides the navigation structure for the documentation.
3221
- * Populated during the initial parsing phase from `index.xml`.
3222
- */
3223
- doxygenindex?: DoxygenIndexDataModel;
3224
- /**
3225
- * Collection of compound definition data models parsed from individual XML
3226
- * files.
3227
- *
3228
- * @remarks
3229
- * Each compound definition represents a documented entity such as a class,
3230
- * namespace, or file, along with its members and associated documentation.
3231
- * Populated by parsing XML files referenced in the index.
3232
- */
3233
- compoundDefs: CompoundDefDataModel[];
3234
- /**
3235
- * The parsed Doxyfile configuration data model.
3236
- *
3237
- * @remarks
3238
- * Contains the Doxygen configuration options and settings that influenced
3239
- * the generation of the XML documentation. Parsed from `Doxyfile.xml` if
3240
- * present in the input folder.
3241
- */
3242
- doxyfile?: DoxygenFileDataModel;
3243
- /**
3244
- * The project version string extracted from the documentation metadata.
3245
- *
3246
- * @remarks
3247
- * Optional version identifier for the documented project, typically derived
3248
- * from the Doxygen configuration or project metadata during parsing.
3249
- */
3250
- projectVersion?: string;
3251
- /**
3252
- * Constructs a new DataModel instance with the specified configuration
3253
- * options.
3254
- *
3255
- * @param options - The command-line interface options for controlling parsing
3256
- * behaviour
3257
- *
3258
- * @remarks
3259
- * Initialises the data model with the provided configuration options and
3260
- * creates a new DoxygenXmlParser instance for XML processing. The compound
3261
- * definitions array is initialised as empty and will be populated during
3262
- * the parsing phase.
3263
- */
3264
- constructor(options: CliOptions);
3265
- /**
3266
- * Orchestrates the complete parsing of Doxygen XML files and data model
3267
- * construction.
3268
- *
3269
- * @remarks
3270
- * This method performs the complete parsing workflow in sequential phases:
3271
- * parsing the main index file, processing all referenced compound XML files,
3272
- * and parsing the Doxyfile configuration. It maintains the original XML
3273
- * element order and content fidelity throughout the process. Progress
3274
- * information is logged to the console, with detailed output in verbose mode.
3275
- */
3276
- parse(): Promise<void>;
3277
- /**
3278
- * Parses the main Doxygen index XML file and initialises the index data
3279
- * model.
3280
- *
3281
- * @remarks
3282
- * This method reads and parses the `index.xml` file, ignoring the XML
3283
- * prologue and top-level text nodes. It extracts the `doxygenindex`
3284
- * element and constructs the corresponding data model. Any unrecognised
3285
- * elements are logged for diagnostic purposes.
3286
- */
3287
- parseDoxygenIndex(): Promise<void>;
3288
- /**
3289
- * Processes compound definitions from the parsed Doxygen XML elements.
3290
- *
3291
- * @param indexCompound - The compound index data model
3292
- * @param parsedDoxygenElements - The array of parsed XML elements for the
3293
- * compound
3294
- *
3295
- * @remarks
3296
- * This method iterates through the parsed XML elements, ignoring the XML
3297
- * prologue and top-level text nodes. For recognised `doxygen` elements, it
3298
- * constructs the compound definitions and appends them to the internal data
3299
- * model. Unrecognised elements are logged for further analysis.
3300
- */
3301
- processCompoundDefs(indexCompound: IndexCompoundDataModel, parsedDoxygenElements: XmlElement[]): void;
3302
- /**
3303
- * Processes member definitions and updates member kinds where necessary.
3304
- *
3305
- * @remarks
3306
- * This method traverses all compound definitions and their associated
3307
- * sections. It collects member definitions by their identifiers and, for
3308
- * each member with an empty kind, assigns the kind from the corresponding
3309
- * member definition. This ensures that all members are correctly classified
3310
- * within the internal data model.
3311
- */
3312
- processMemberdefs(): void;
3313
- /**
3314
- * Parses the Doxyfile XML and initialises the configuration data model.
3315
- *
3316
- * @remarks
3317
- * This method reads and parses the `Doxyfile.xml` file, ignoring the XML
3318
- * prologue and top-level text nodes. It extracts the `doxyfile` element and
3319
- * constructs the corresponding configuration data model. Any unrecognised
3320
- * elements are logged for diagnostic purposes.
3321
- */
3322
- parseDoxyfile(): Promise<void>;
3323
- /**
3324
- * Reads and parses the specified XML file, returning the parsed content.
3325
- *
3326
- * @param fileName - The name of the XML file to be parsed
3327
- * @returns A promise that resolves to the parsed XML content
3328
- *
3329
- * @remarks
3330
- * This method constructs the full file path using the configured input
3331
- * folder, reads the XML file as a UTF-8 string, and parses it using the
3332
- * configured XML parser. The method increments the internal counter for
3333
- * parsed files and, if verbose mode is enabled, logs the file being parsed.
3334
- */
3335
- parseFile({ fileName }: {
3336
- fileName: string;
3337
- }): Promise<any>;
3338
- }
3339
-
3340
- /**
3341
- * Data model for default value elements within documentation content.
3342
- *
3343
- * @remarks
3344
- * Represents default value elements that contain parameter default values
3345
- * within function and method documentation. This implementation processes
3346
- * Doxygen's defval elements, which contain mixed text and reference content
3347
- * describing the default values assigned to function parameters when no
3348
- * explicit value is provided during function calls.
3349
- *
3350
- * The linked text structure enables cross-references to constants, enums,
3351
- * and other symbols used within default value expressions.
3352
- *
3353
- * @public
3354
- */
3355
- export declare class DefValDataModel extends AbstractLinkedTextType {
3356
- /**
3357
- * Constructs a DefValDataModel from XML element data.
3358
- *
3359
- * @param xml - The Doxygen XML parser instance for processing XML content
3360
- * @param element - The XML element object containing the default value data
3361
- *
3362
- * @remarks
3363
- * This constructor delegates to the parent AbstractLinkedTextType to
3364
- * handle linked text processing whilst identifying the element as 'defval'
3365
- * for proper XML schema compliance and default value content processing.
3366
- */
3367
- constructor(xml: DoxygenXmlParser, element: object);
3368
- }
3369
-
3370
- /**
3371
- * Data model for derived compound references in inheritance relationships.
3372
- *
3373
- * @remarks
3374
- * Represents references to derived classes or child compounds in inheritance
3375
- * hierarchies as documented by Doxygen. This class handles the
3376
- * 'derivedcompoundref' XML elements that establish child-parent relationships
3377
- * in object-oriented documentation structures.
3378
- *
3379
- * @public
3380
- */
3381
- export declare class DerivedCompoundRefDataModel extends AbstractCompoundRefType {
3382
- /**
3383
- * Constructs a new DerivedCompoundRefDataModel instance.
3384
- *
3385
- * @remarks
3386
- * Creates a data model object for 'derivedcompoundref' XML elements,
3387
- * representing inheritance relationships where other compounds derive
3388
- * from the current compound as their base.
3389
- *
3390
- * @param xml - The XML parser instance for processing elements
3391
- * @param element - The XML element object to parse
3392
- */
3393
- constructor(xml: DoxygenXmlParser, element: object);
3394
- }
3395
-
3396
- /**
3397
- * Data model for general description elements within documentation.
3398
- *
3399
- * @remarks
3400
- * Represents general description elements that provide standard documentation
3401
- * content for entities. This implementation processes Doxygen's description
3402
- * elements, which contain descriptive content including paragraphs and
3403
- * other documentation structures for general-purpose descriptions.
3404
- *
3405
- * @public
3406
- */
3407
- export declare class DescriptionDataModel extends AbstractDescriptionType {
3408
- /**
3409
- * Constructs a DescriptionDataModel from XML element data.
3410
- *
3411
- * @param xml - The Doxygen XML parser instance for processing XML content
3412
- * @param element - The XML element object containing the description data
3413
- *
3414
- * @remarks
3415
- * This constructor delegates to the parent AbstractDescriptionType whilst
3416
- * identifying the element as 'description' for general-purpose description
3417
- * content processing and documentation organisation.
3418
- */
3419
- constructor(xml: DoxygenXmlParser, element: object);
3420
- }
3421
-
3422
- /**
3423
- * @public
3424
- */
3425
- /**
3426
- * Data model for detailed description elements within documentation.
3427
- *
3428
- * @remarks
3429
- * Represents detailed description elements that provide comprehensive
3430
- * documentation content for entities. This implementation processes
3431
- * Doxygen's detaileddescription elements, which contain extensive
3432
- * descriptive content including paragraphs, sections, lists, and
3433
- * other rich documentation structures.
3434
- *
3435
- * @public
3436
- */
3437
- export declare class DetailedDescriptionDataModel extends AbstractDescriptionType {
3438
- /**
3439
- * Constructs a DetailedDescriptionDataModel from XML element data.
3440
- *
3441
- * @param xml - The Doxygen XML parser instance for processing XML content
3442
- * @param element - The XML element object containing the detailed
3443
- * description data
3444
- *
3445
- * @remarks
3446
- * This constructor delegates to the parent AbstractDescriptionType whilst
3447
- * identifying the element as 'detaileddescription' for comprehensive
3448
- * content processing and documentation organisation.
3449
- */
3450
- constructor(xml: DoxygenXmlParser, element: object);
3451
- }
3452
-
3453
- /**
3454
- * Concrete data model class for doxyfile elements.
3455
- *
3456
- * @remarks
3457
- * Represents the root element of Doxyfile XML configuration files,
3458
- * extending the abstract base class to provide specific handling for
3459
- * 'doxyfile' elements. This class serves as the primary entry point
3460
- * for parsing Doxygen configuration files and provides access to all
3461
- * configuration options and metadata contained within the file structure.
3462
- *
3463
- * @public
3464
- */
3465
- export declare class DoxygenFileDataModel extends AbstractDoxygenFileType {
3466
- /**
3467
- * Constructs a new DoxygenFileDataModel instance from XML data.
3468
- *
3469
- * @param xml - The Doxygen XML parser instance for processing XML elements
3470
- * @param element - The XML element containing the doxyfile data
3471
- *
3472
- * @remarks
3473
- * Initialises the Doxyfile data model by parsing the provided XML element
3474
- * as a 'doxyfile' element type. The constructor delegates to the parent
3475
- * class for common configuration processing whilst specifying the element
3476
- * name for proper XML structure handling.
3477
- */
3478
- constructor(xml: DoxygenXmlParser, element: object);
3479
- }
3480
-
3481
- /**
3482
- * Concrete data model class for Doxyfile option elements.
3483
- *
3484
- * @remarks
3485
- * Represents individual configuration option elements found within
3486
- * Doxyfile XML structures. This class extends the abstract base to
3487
- * provide specific handling for 'option' elements, which define
3488
- * individual Doxygen configuration settings including their identifiers,
3489
- * types, default status, and associated values. Each option corresponds
3490
- * to a specific configuration parameter that controls Doxygen's
3491
- * documentation generation behaviour.
3492
- *
3493
- * @public
3494
- */
3495
- export declare class DoxygenFileOptionDataModel extends AbstractDoxygenFileOptionType {
3496
- /**
3497
- * Constructs a new DoxygenFileOptionDataModel instance from XML data.
3498
- *
3499
- * @param xml - The Doxygen XML parser instance for processing XML elements
3500
- * @param element - The XML element containing the option data
3501
- *
3502
- * @remarks
3503
- * Initialises the option data model by parsing the provided XML element
3504
- * as an 'option' element type. The constructor delegates to the parent
3505
- * class for common option processing whilst specifying the element name
3506
- * for proper XML structure handling.
3507
- */
3508
- constructor(xml: DoxygenXmlParser, element: object);
3509
- }
3510
-
3511
- /**
3512
- * Concrete data model class for doxygenindex elements.
3513
- *
3514
- * @remarks
3515
- * Represents the root element of Doxygen index XML files, extending the
3516
- * abstract base class to provide specific handling for 'doxygenindex'
3517
- * elements. This class serves as the primary entry point for parsing
3518
- * index files and provides access to all compound definitions and
3519
- * metadata contained within the index structure.
3520
- *
3521
- * @public
3522
- */
3523
- export declare class DoxygenIndexDataModel extends AbstractIndexDoxygenType {
3524
- /**
3525
- * Constructs a new DoxygenIndexDataModel instance from XML data.
3526
- *
3527
- * @param xml - The Doxygen XML parser instance for processing XML elements
3528
- * @param element - The XML element containing the doxygenindex data
3529
- *
3530
- * @remarks
3531
- * Initialises the Doxygen index data model by parsing the provided XML
3532
- * element as a 'doxygenindex' element type. The constructor delegates
3533
- * to the parent class for common processing whilst specifying the
3534
- * element name for proper XML structure handling.
3535
- */
3536
- constructor(xml: DoxygenXmlParser, element: object);
3537
- }
3538
-
3539
- /**
3540
- * XML parser for Doxygen-generated documentation files.
3541
- *
3542
- * @remarks
3543
- * This class initialises the XML parser with options that preserve the order
3544
- * and structure of the original XML content, ensuring accurate conversion
3545
- * for documentation purposes. It maintains a counter for the number of files
3546
- * parsed and stores the resulting data model.
3547
- *
3548
- * The parser is configured to handle Doxygen's specific XML format whilst
3549
- * maintaining fidelity to the source structure and content organisation.
3550
- *
3551
- * @example
3552
- * ```typescript
3553
- * const parser = new DoxygenXmlParser({ options });
3554
- * const dataModel = await parser.parse();
3555
- * ```
3556
- *
3557
- * @public
3558
- */
3559
- export declare class DoxygenXmlParser {
3560
- /**
3561
- * The global configuration options for the parsing operation.
3562
- *
3563
- * @remarks
3564
- * Contains the command-line interface options that control the behaviour
3565
- * of the parser throughout the XML processing workflow.
3566
- */
3567
- options: CliOptions;
3568
- /**
3569
- * The XML parser instance configured specifically for Doxygen XML format.
3570
- *
3571
- * @remarks
3572
- * Configured with settings that preserve element order, remove namespace
3573
- * prefixes, and maintain fidelity to the original XML structure for
3574
- * accurate data model construction.
3575
- */
3576
- xmlParser: XMLParser;
3577
- /**
3578
- * Collection of image references extracted during XML parsing.
3579
- *
3580
- * @remarks
3581
- * Accumulates image elements found in the documentation content,
3582
- * allowing for centralised image processing and reference management.
3583
- */
3584
- images: AbstractDocImageType[];
3585
- /**
3586
- * Constructs a new instance of the DoxygenXmlParser class.
3587
- *
3588
- * @param options - The global configuration options
3589
- *
3590
- * @remarks
3591
- * This constructor initialises the XML parser with settings that preserve the
3592
- * order and structure of the original XML content, remove namespace prefixes,
3593
- * and ensure that both tag and attribute values are parsed. The values are
3594
- * not trimmed, maintaining fidelity to the source XML. The provided options
3595
- * are stored for use throughout the parsing process.
3596
- */
3597
- constructor(options: CliOptions);
3598
- /**
3599
- * Determines whether the specified XML element has any attributes.
3600
- *
3601
- * @param element - The XML element to inspect for attributes
3602
- * @returns True if the element has attributes; otherwise, false
3603
- *
3604
- * @remarks
3605
- * This method checks for the presence of the ':\@' property on the XML
3606
- * element, which is the convention used by the XML parser for storing
3607
- * attributes. If this property exists, the element has attributes; if not,
3608
- * the element has no attributes. This is a prerequisite check before calling
3609
- * {@link DoxygenXmlParser.getAttributesNames} or other attribute-related
3610
- * methods.
3611
- */
3612
- hasAttributes(element: object): boolean;
3613
- /**
3614
- * Retrieves the names of all attributes present on the specified XML element.
3615
- *
3616
- * @param element - The XML element to inspect for attribute names
3617
- * @returns An array of strings containing the names of all attributes
3618
- *
3619
- * @remarks
3620
- * This method accesses the ':\@' property of the XML element, which is the
3621
- * convention used by the XML parser for storing attributes, and returns the
3622
- * keys of this object as an array of attribute names. The method assumes the
3623
- * element has attributes and does not perform validation - use
3624
- * {@link DoxygenXmlParser.hasAttributes} to check for attribute presence
3625
- * first.
3626
- */
3627
- getAttributesNames(element: object): string[];
3628
- /**
3629
- * Determines whether the specified attribute exists on the given XML element.
3630
- *
3631
- * @param element - The XML element to inspect
3632
- * @param name - The name of the attribute to check for
3633
- * @returns True if the attribute exists; otherwise, false
3634
- *
3635
- * @remarks
3636
- * This method checks for the presence of an attribute within the ':\@'
3637
- * property of the XML element, which is the convention used by the XML
3638
- * parser for storing attributes. It returns true if the attribute is found,
3639
- * otherwise false.
3640
- */
3641
- hasAttribute(element: object, name: string): boolean;
3642
- /**
3643
- * Retrieves the value of a named attribute as a string.
3644
- *
3645
- * @param element - The XML element containing the attribute
3646
- * @param name - The name of the attribute to retrieve
3647
- * @returns The attribute value as a string
3648
- * @throws If the attribute does not exist
3649
- *
3650
- * @remarks
3651
- * This method checks whether the specified attribute exists on the XML
3652
- * element and returns its value as a string. If the attribute value is
3653
- * originally a number (as the XML parser may return numeric strings as
3654
- * numbers), it is converted to a string to maintain consistency with the
3655
- * DTD specification. If the attribute is missing, an error is thrown to
3656
- * indicate the absence.
3657
- */
3658
- getAttributeStringValue(element: object, name: string): string;
3659
- /**
3660
- * Retrieves the value of a named attribute as a number.
3661
- *
3662
- * @param element - The XML element containing the attribute
3663
- * @param name - The name of the attribute to retrieve
3664
- * @returns The attribute value as a number
3665
- * @throws If the attribute does not exist or is not a number
3666
- *
3667
- * @remarks
3668
- * This method checks whether the specified attribute exists on the XML
3669
- * element and returns its value as a number. If the attribute is missing
3670
- * or its value is not a number, an error is thrown to indicate the absence
3671
- * or incorrect type.
3672
- */
3673
- getAttributeNumberValue(element: object, name: string): number;
3674
- /**
3675
- * Retrieves the value of a named attribute as a boolean.
3676
- *
3677
- * @param element - The XML element containing the attribute
3678
- * @param name - The name of the attribute to retrieve
3679
- * @returns True if the attribute value is 'yes' (case-insensitive);
3680
- * otherwise, false
3681
- * @throws If the attribute does not exist or is not a string
3682
- *
3683
- * @remarks
3684
- * This method checks whether the specified attribute exists on the XML
3685
- * element, and returns true if its value is the string 'yes'
3686
- * (case-insensitive). If the attribute is missing or its value is not a
3687
- * string, an error is thrown.
3688
- */
3689
- getAttributeBooleanValue(element: object, name: string): boolean;
3690
- /**
3691
- * Determines whether the specified inner element exists on the given XML
3692
- * element.
3693
- *
3694
- * @param element - The XML element to inspect
3695
- * @param name - The name of the inner element to check for
3696
- * @returns True if the inner element exists; otherwise, false
3697
- *
3698
- * @remarks
3699
- * This method checks for the presence of a named property on the XML element.
3700
- * For text nodes ('#text'), it verifies the value is a string, number, or
3701
- * boolean. For other elements, it confirms the property is an array, as
3702
- * per the XML parser's convention.
3703
- */
3704
- hasInnerElement(element: object, name: string): boolean;
3705
- /**
3706
- * Determines whether a named inner element contains text.
3707
- *
3708
- * @param element - The XML element to inspect
3709
- * @param name - The name of the inner element
3710
- * @returns True if the inner element contains text or is empty;
3711
- * otherwise, false
3712
- *
3713
- * @remarks
3714
- * This method checks if the specified inner element exists and contains a
3715
- * single text node, or is an empty array (representing an empty string).
3716
- * It asserts the expected structure and type of the value for robustness.
3717
- */
3718
- isInnerElementText(element: object, name: string): boolean;
3719
- /**
3720
- * Determines whether the XML element contains a text node.
3721
- *
3722
- * @param element - The XML element to inspect
3723
- * @returns True if the element contains a text node; otherwise, false
3724
- *
3725
- * @remarks
3726
- * This method checks for the presence of a '#text' property on the XML
3727
- * element, and verifies that its value is a string, number, or boolean.
3728
- */
3729
- hasInnerText(element: object): boolean;
3730
- /**
3731
- * Retrieves an array of named child elements from the given XML element.
3732
- *
3733
- * @typeParam T - The expected type of the child elements array
3734
- * (defaults to XmlElement[])
3735
- * @param element - The XML element containing the child elements
3736
- * @param name - The name of the child elements to retrieve
3737
- * @returns The array of child elements
3738
- * @throws If the child elements do not exist
3739
- *
3740
- * @remarks
3741
- * This method accesses the specified property on the XML element and
3742
- * returns it as an array of child elements. If the property is undefined,
3743
- * an error is thrown indicating the absence of the expected child element.
3744
- */
3745
- getInnerElements<T = XmlElement[]>(element: object, name: string): T;
3746
- /**
3747
- * Retrieves the text content of a named child element.
3748
- *
3749
- * @param element - The XML element containing the child element
3750
- * @param name - The name of the child element
3751
- * @returns The text content of the child element
3752
- * @throws If the child element does not exist or contains more than one
3753
- * element
3754
- *
3755
- * @remarks
3756
- * This method accesses the specified child element and returns its text
3757
- * content. If the child element is missing, an error is thrown. If the
3758
- * child element is empty, an empty string is returned. If there is more
3759
- * than one child element, an error is thrown to indicate unexpected
3760
- * structure.
3761
- */
3762
- getInnerElementText(element: object, name: string): string;
3763
- /**
3764
- * Retrieves the numeric value of a named child element.
3765
- *
3766
- * @param element - The XML element containing the child element
3767
- * @param name - The name of the child element
3768
- * @returns The numeric value of the child element
3769
- * @throws If the child element does not exist or contains more than one
3770
- * element
3771
- *
3772
- * @remarks
3773
- * This method accesses the specified child element and returns its value
3774
- * as a number. If the child element is missing, an error is thrown. If the
3775
- * child element is empty, NaN is returned. If there is more than one child
3776
- * element, an error is thrown to indicate unexpected structure.
3777
- */
3778
- getInnerElementNumber(element: object, name: string): number;
3779
- /**
3780
- * Retrieves the boolean value of a named child element.
3781
- *
3782
- * @param element - The XML element containing the child element
3783
- * @param name - The name of the child element
3784
- * @returns True if the child element's text is 'true'
3785
- * (case-insensitive); otherwise, false
3786
- * @throws If the child element does not exist or contains more than one
3787
- * element
3788
- *
3789
- * @remarks
3790
- * This method accesses the specified child element and returns its value
3791
- * as a boolean. If the child element is missing, an error is thrown. If
3792
- * the child element is empty, false is returned. If there is more than one
3793
- * child element, an error is thrown to indicate unexpected structure.
3794
- */
3795
- getInnerElementBoolean(element: object, name: string): boolean;
3796
- /**
3797
- * Retrieves the text content of the XML element.
3798
- *
3799
- * @param element - The XML element to retrieve text from
3800
- * @returns The text content of the element
3801
- * @throws If the element does not contain a valid text node
3802
- *
3803
- * @remarks
3804
- * This method accesses the '#text' property of the XML element and
3805
- * returns its value as a string. It asserts that the value is of type
3806
- * string, number, or boolean before converting it to a string. If the
3807
- * property is missing or the value is of an unexpected type, an error is
3808
- * thrown.
3809
- */
3810
- getInnerText(element: object): string;
3811
- }
3812
-
3813
- /**
3814
- * Concrete implementation of enumeration value data model.
3815
- *
3816
- * @remarks
3817
- * Represents a single enumeration value as parsed from Doxygen XML
3818
- * output. Inherits all functionality from the abstract base class
3819
- * and provides the specific element name for parsing.
3820
- *
3821
- * @public
3822
- */
3823
- export declare class EnumValueDataModel extends AbstractEnumValueType {
3824
- /**
3825
- * Creates a new enumeration value data model from XML.
3826
- *
3827
- * @remarks
3828
- * Parses the XML element representing an enumeration value using
3829
- * the inherited parsing logic with the 'enumvalue' element name.
3830
- *
3831
- * @param xml - The XML parser instance
3832
- * @param element - The XML element to parse
3833
- */
3834
- constructor(xml: DoxygenXmlParser, element: object);
3835
- }
3836
-
3837
- /**
3838
- * Data model for syntax highlight elements within code listings.
3839
- *
3840
- * @remarks
3841
- * Represents individual syntax highlighting segments that specify how
3842
- * portions of source code should be styled in the generated documentation.
3843
- * This implementation processes Doxygen's highlight elements, which contain
3844
- * the highlight class information and associated text content for proper
3845
- * syntax colouring.
3846
- *
3847
- * @public
3848
- */
3849
- export declare class HighlightDataModel extends AbstractHighlightType {
3850
- /**
3851
- * Constructs a HighlightDataModel from XML element data.
3852
- *
3853
- * @param xml - The Doxygen XML parser instance for processing XML content
3854
- * @param element - The XML element object containing the highlight data
3855
- *
3856
- * @remarks
3857
- * This constructor delegates to the parent AbstractHighlightType to handle
3858
- * the standard highlight processing whilst specifically identifying the
3859
- * element as a 'highlight' type for proper XML schema compliance.
3860
- */
3861
- constructor(xml: DoxygenXmlParser, element: object);
3862
- }
3863
-
3864
- /**
3865
- * Data model for in-body description elements within documentation.
3866
- *
3867
- * @remarks
3868
- * Represents in-body description elements that provide documentation
3869
- * content embedded within source code bodies. This implementation
3870
- * processes Doxygen's inbodydescription elements for documentation
3871
- * that appears inline within code implementations.
3872
- *
3873
- * @public
3874
- */
3875
- export declare class InbodyDescriptionDataModel extends AbstractDescriptionType {
3876
- /**
3877
- * Constructs an InbodyDescriptionDataModel from XML element data.
3878
- *
3879
- * @param xml - The Doxygen XML parser instance for processing XML content
3880
- * @param element - The XML element object containing the in-body
3881
- * description data
3882
- *
3883
- * @remarks
3884
- * This constructor delegates to the parent AbstractDescriptionType whilst
3885
- * identifying the element as 'inbodydescription' for inline documentation
3886
- * content processing within code implementations.
3887
- */
3888
- constructor(xml: DoxygenXmlParser, element: object);
3889
- }
3890
-
3891
- /**
3892
- * Data model for includedby elements within documentation content.
3893
- *
3894
- * @remarks
3895
- * Represents includedby elements that document files which include the
3896
- * current source file. This implementation processes Doxygen's includedby
3897
- * elements, which contain information about files that incorporate the
3898
- * current file through preprocessor directives, establishing reverse
3899
- * inclusion relationships within the documentation system.
3900
- *
3901
- * The includedby relationship indicates a dependency where other files
3902
- * incorporate content from the current file during compilation.
3903
- *
3904
- * @public
3905
- */
3906
- export declare class IncludedByDataModel extends AbstractIncType {
3907
- /**
3908
- * Constructs an IncludedByDataModel from XML element data.
3909
- *
3910
- * @param xml - The Doxygen XML parser instance for processing XML content
3911
- * @param element - The XML element object containing the includedby data
3912
- *
3913
- * @remarks
3914
- * This constructor delegates to the parent AbstractIncType to handle
3915
- * include processing whilst identifying the element as 'includedby' for
3916
- * proper XML schema compliance and reverse include relationship handling.
3917
- * The processed data represents files that include the current source file
3918
- * through preprocessor directives, establishing dependency relationships.
3919
- */
3920
- constructor(xml: DoxygenXmlParser, element: object);
3921
- }
3922
-
3923
- /**
3924
- * Data model for includes elements within documentation content.
3925
- *
3926
- * @remarks
3927
- * Represents includes elements that document files included by the current
3928
- * source file. This implementation processes Doxygen's includes elements,
3929
- * which contain information about files that are included through preprocessor
3930
- * directives such as #include statements within the documented source code.
3931
- *
3932
- * The includes relationship indicates a dependency where the current file
3933
- * incorporates content from the referenced file during compilation.
3934
- *
3935
- * @public
3936
- */
3937
- export declare class IncludesDataModel extends AbstractIncType {
3938
- /**
3939
- * Constructs an IncludesDataModel from XML element data.
3940
- *
3941
- * @param xml - The Doxygen XML parser instance for processing XML content
3942
- * @param element - The XML element object containing the includes data
3943
- *
3944
- * @remarks
3945
- * This constructor delegates to the parent AbstractIncType to handle
3946
- * include processing whilst identifying the element as 'includes' for
3947
- * proper XML schema compliance and include relationship documentation.
3948
- * The processed data represents files that are included by the current
3949
- * source file through preprocessor directives.
3950
- */
3951
- constructor(xml: DoxygenXmlParser, element: object);
3952
- }
3953
-
3954
- /**
3955
- * Concrete data model class for index compound elements.
3956
- *
3957
- * @remarks
3958
- * Represents individual compound elements found within Doxygen index XML
3959
- * structures. This class extends the abstract base to provide specific
3960
- * handling for 'compound' elements, which reference documented entities
3961
- * such as classes, namespaces, files, and other structural components
3962
- * within the indexed documentation. Each compound serves as an entry
3963
- * point for accessing detailed documentation in separate XML files.
3964
- *
3965
- * @public
3966
- */
3967
- export declare class IndexCompoundDataModel extends AbstractIndexCompoundType {
3968
- /**
3969
- * Constructs a new IndexCompoundDataModel instance from XML data.
3970
- *
3971
- * @param xml - The Doxygen XML parser instance for processing XML elements
3972
- * @param element - The XML element containing the compound data
3973
- *
3974
- * @remarks
3975
- * Initialises the compound data model by parsing the provided XML element
3976
- * as a 'compound' element type. The constructor delegates to the parent
3977
- * class for common compound processing whilst specifying the element name
3978
- * for proper XML structure handling.
3979
- */
3980
- constructor(xml: DoxygenXmlParser, element: object);
3981
- }
3982
-
3983
- /**
3984
- * Concrete data model class for index member elements.
3985
- *
3986
- * @remarks
3987
- * Represents individual member elements found within Doxygen index XML
3988
- * structures. This class extends the abstract base to provide specific
3989
- * handling for 'member' elements, which reference documented members
3990
- * such as functions, variables, and other programming constructs within
3991
- * the indexed documentation.
3992
- *
3993
- * @public
3994
- */
3995
- export declare class IndexMemberDataModel extends AbstractIndexMemberType {
3996
- /**
3997
- * Constructs a new IndexMemberDataModel instance from XML data.
3998
- *
3999
- * @param xml - The Doxygen XML parser instance for processing XML elements
4000
- * @param element - The XML element containing the member data
4001
- *
4002
- * @remarks
4003
- * Initialises the member data model by parsing the provided XML element
4004
- * as a 'member' element type. The constructor delegates to the parent
4005
- * class for common member processing whilst specifying the element name.
4006
- */
4007
- constructor(xml: DoxygenXmlParser, element: object);
4008
- }
4009
-
4010
- /**
4011
- * Data model for initializer elements within documentation content.
4012
- *
4013
- * @remarks
4014
- * Represents initializer elements that contain variable or member
4015
- * initialization expressions within source code documentation. This
4016
- * implementation processes Doxygen's initializer elements, which contain
4017
- * mixed text and reference content describing the initial values assigned
4018
- * to variables, constants, or class members.
4019
- *
4020
- * The linked text structure enables cross-references to types and symbols
4021
- * used within initialization expressions.
4022
- *
4023
- * @public
4024
- */
4025
- export declare class InitializerDataModel extends AbstractLinkedTextType {
4026
- /**
4027
- * Constructs an InitializerDataModel from XML element data.
4028
- *
4029
- * @param xml - The Doxygen XML parser instance for processing XML content
4030
- * @param element - The XML element object containing the initializer data
4031
- *
4032
- * @remarks
4033
- * This constructor delegates to the parent AbstractLinkedTextType to
4034
- * handle linked text processing whilst identifying the element as
4035
- * 'initializer' for proper XML schema compliance and initialization
4036
- * expression content processing.
4037
- */
4038
- constructor(xml: DoxygenXmlParser, element: object);
4039
- }
4040
-
4041
- /**
4042
- * Data model for inner class reference elements.
4043
- *
4044
- * @remarks
4045
- * Represents a reference to an inner class within Doxygen XML documentation,
4046
- * corresponding to the innerclass XML element. This class manages references
4047
- * to classes that are contained within the current documentation context,
4048
- * providing linking and navigation capabilities to detailed class
4049
- * documentation. Inner classes typically represent nested classes, inner
4050
- * types, or classes defined within other classes or namespaces.
4051
- *
4052
- * @public
4053
- */
4054
- export declare class InnerClassDataModel extends AbstractRefType {
4055
- /**
4056
- * Constructs a new inner class reference data model from XML.
4057
- *
4058
- * @param xml - The Doxygen XML parser instance
4059
- * @param element - The XML element containing inner class reference data
4060
- *
4061
- * @remarks
4062
- * Creates a complete inner class reference data model by parsing the
4063
- * provided XML element. This constructor delegates to the parent class to
4064
- * handle all standard parsing operations for the innerclass element type,
4065
- * establishing the reference to the contained class entity.
4066
- */
4067
- constructor(xml: DoxygenXmlParser, element: object);
4068
- }
4069
-
4070
- /**
4071
- * Data model for inner folder reference elements.
4072
- *
4073
- * @remarks
4074
- * Represents a reference to an inner folder within Doxygen XML documentation,
4075
- * corresponding to the innerdir XML element. This class manages references
4076
- * to folders that are contained within the current documentation context,
4077
- * providing linking and navigation capabilities to detailed folder
4078
- * documentation. Inner folders typically represent subdirectories within
4079
- * the project structure that contain related source files and documentation.
4080
- *
4081
- * @public
4082
- */
4083
- export declare class InnerDirDataModel extends AbstractRefType {
4084
- /**
4085
- * Constructs a new inner folder reference data model from XML.
4086
- *
4087
- * @param xml - The Doxygen XML parser instance
4088
- * @param element - The XML element containing inner folder reference data
4089
- *
4090
- * @remarks
4091
- * Creates a complete inner folder reference data model by parsing the
4092
- * provided XML element. This constructor delegates to the parent class to
4093
- * handle all standard parsing operations for the innerdir element type,
4094
- * establishing the reference to the contained folder entity.
4095
- */
4096
- constructor(xml: DoxygenXmlParser, element: object);
4097
- }
4098
-
4099
- /**
4100
- * Data model for inner file reference elements.
4101
- *
4102
- * @remarks
4103
- * Represents a reference to an inner file within Doxygen XML documentation,
4104
- * corresponding to the innerfile XML element. This class manages references
4105
- * to files that are contained within the current documentation context,
4106
- * providing linking and navigation capabilities to detailed file
4107
- * documentation. Inner files typically represent source code files, headers,
4108
- * or other documented files within the project structure.
4109
- *
4110
- * @public
4111
- */
4112
- export declare class InnerFileDataModel extends AbstractRefType {
4113
- /**
4114
- * Constructs a new inner file reference data model from XML.
4115
- *
4116
- * @param xml - The Doxygen XML parser instance
4117
- * @param element - The XML element containing inner file reference data
4118
- *
4119
- * @remarks
4120
- * Creates a complete inner file reference data model by parsing the
4121
- * provided XML element. This constructor delegates to the parent class to
4122
- * handle all standard parsing operations for the innerfile element type,
4123
- * establishing the reference to the contained file entity.
4124
- */
4125
- constructor(xml: DoxygenXmlParser, element: object);
4126
- }
4127
-
4128
- /**
4129
- * Data model for inner group reference elements.
4130
- *
4131
- * @remarks
4132
- * Represents a reference to an inner group within Doxygen XML documentation,
4133
- * corresponding to the innergroup XML element. This class manages references
4134
- * to groups that are contained within the current documentation context,
4135
- * providing linking and navigation capabilities to detailed group
4136
- * documentation. Inner groups typically represent logical collections or
4137
- * modules of related functionality that are organised within the current
4138
- * documentation scope.
4139
- *
4140
- * @public
4141
- */
4142
- export declare class InnerGroupDataModel extends AbstractRefType {
4143
- /**
4144
- * Constructs a new inner group reference data model from XML.
4145
- *
4146
- * @param xml - The Doxygen XML parser instance
4147
- * @param element - The XML element containing inner group reference data
4148
- *
4149
- * @remarks
4150
- * Creates a complete inner group reference data model by parsing the
4151
- * provided XML element. This constructor delegates to the parent class to
4152
- * handle all standard parsing operations for the innergroup element type,
4153
- * establishing the reference to the contained group entity.
4154
- */
4155
- constructor(xml: DoxygenXmlParser, element: object);
4156
- }
4157
-
4158
- /**
4159
- * Data model for inner namespace reference elements.
4160
- *
4161
- * @remarks
4162
- * Represents a reference to an inner namespace within Doxygen XML
4163
- * documentation, corresponding to the innernamespace XML element. This class
4164
- * manages references to namespaces that are contained within the current
4165
- * documentation context, providing linking and navigation capabilities to
4166
- * detailed namespace documentation. Inner namespaces typically represent
4167
- * nested namespaces or namespace aliases defined within other namespaces.
4168
- *
4169
- * @public
4170
- */
4171
- export declare class InnerNamespaceDataModel extends AbstractRefType {
4172
- /**
4173
- * Constructs a new inner namespace reference data model from XML.
4174
- *
4175
- * @param xml - The Doxygen XML parser instance
4176
- * @param element - The XML element containing inner namespace reference data
4177
- *
4178
- * @remarks
4179
- * Creates a complete inner namespace reference data model by parsing the
4180
- * provided XML element. This constructor delegates to the parent class to
4181
- * handle all standard parsing operations for the innernamespace element
4182
- * type, establishing the reference to the contained namespace entity.
4183
- */
4184
- constructor(xml: DoxygenXmlParser, element: object);
4185
- }
4186
-
4187
- /**
4188
- * Data model for inner page reference elements.
4189
- *
4190
- * @remarks
4191
- * Represents a reference to an inner page within Doxygen XML documentation,
4192
- * corresponding to the innerpage XML element. This class manages references
4193
- * to pages that are contained within the current documentation context,
4194
- * providing linking and navigation capabilities to detailed page
4195
- * documentation. Inner pages typically represent documentation pages,
4196
- * tutorials, or other narrative content that is logically contained within
4197
- * the current documentation scope.
4198
- *
4199
- * @public
4200
- */
4201
- export declare class InnerPageDataModel extends AbstractRefType {
4202
- /**
4203
- * Constructs a new inner page reference data model from XML.
4204
- *
4205
- * @param xml - The Doxygen XML parser instance
4206
- * @param element - The XML element containing inner page reference data
4207
- *
4208
- * @remarks
4209
- * Creates a complete inner page reference data model by parsing the
4210
- * provided XML element. This constructor delegates to the parent class to
4211
- * handle all standard parsing operations for the innerpage element type,
4212
- * establishing the reference to the contained page entity.
4213
- */
4214
- constructor(xml: DoxygenXmlParser, element: object);
4215
- }
4216
-
4217
- /**
4218
- * Concrete implementation for listofallmembers elements within compound
4219
- * documentation.
4220
- *
4221
- * @remarks
4222
- * Provides specific handling for listofallmembers XML elements that contain
4223
- * comprehensive member inventories within class and compound documentation.
4224
- * This implementation extends the abstract base class functionality to
4225
- * process the complete collection of member references, including both
4226
- * directly declared and inherited members.
4227
- *
4228
- * The class ensures proper instantiation of member reference data models
4229
- * whilst maintaining the hierarchical structure and accessibility information
4230
- * required for comprehensive documentation generation.
4231
- *
4232
- * @public
4233
- */
4234
- export declare class ListOfAllMembersDataModel extends AbstractListOfAllMembersType {
4235
- /**
4236
- * Constructs a new listofallmembers data model instance.
4237
- *
4238
- * @param xml - The XML parser instance for processing elements
4239
- * @param element - The source XML element containing listofallmembers data
4240
- *
4241
- * @remarks
4242
- * Initialises the data model with the specific element name
4243
- * 'listofallmembers' and delegates processing to the abstract base class
4244
- * implementation. This ensures consistent handling of member reference
4245
- * collections whilst maintaining proper element identification.
4246
- *
4247
- * @public
4248
- */
4249
- constructor(xml: DoxygenXmlParser, element: object);
4250
- }
4251
-
4252
- /**
4253
- * Concrete implementation for location elements within documentation.
4254
- *
4255
- * @remarks
4256
- * Provides specific handling for location XML elements that contain
4257
- * comprehensive source code positioning information. This implementation
4258
- * extends the abstract base class functionality to process location
4259
- * elements with the specific element name 'location'.
4260
- *
4261
- * The class ensures proper instantiation of location data models whilst
4262
- * maintaining all the detailed positioning information required for
4263
- * accurate source code navigation and reference generation.
4264
- *
4265
- * @public
4266
- */
4267
- export declare class LocationDataModel extends AbstractLocationType {
4268
- /**
4269
- * Constructs a new location data model instance.
4270
- *
4271
- * @param xml - The XML parser instance for processing elements
4272
- * @param element - The source XML element containing location data
4273
- *
4274
- * @remarks
4275
- * Initialises the data model with the specific element name 'location'
4276
- * and delegates processing to the abstract base class implementation.
4277
- * This ensures consistent handling of location information whilst
4278
- * maintaining proper element identification.
4279
- *
4280
- * @public
4281
- */
4282
- constructor(xml: DoxygenXmlParser, element: object);
4283
- }
4284
-
4285
- /**
4286
- * Main entry point for the doxygen2docusaurus CLI tool.
4287
- *
4288
- * @remarks
4289
- * Orchestrates the complete conversion process from Doxygen XML to Docusaurus
4290
- * documentation. Handles command-line argument parsing, configuration loading,
4291
- * data model creation, workspace initialisation, and documentation generation.
4292
- * Provides timing information and appropriate exit codes for integration.
4293
- *
4294
- * @param argv - Command line arguments array
4295
- * @returns Promise that resolves to the exit code (0 for success, 1 for error)
4296
- *
4297
- * @public
4298
- */
4299
- export declare function main(argv: string[]): Promise<number>;
4300
-
4301
- /**
4302
- * Concrete implementation for member elements within documentation.
4303
- *
4304
- * @remarks
4305
- * Provides specific handling for member XML elements that contain
4306
- * simplified member information within various documentation contexts.
4307
- * This implementation extends the abstract base class functionality
4308
- * to process member elements with the specific element name 'member'.
4309
- *
4310
- * The class represents lightweight member references that serve as
4311
- * cross-reference points to more detailed member definitions, maintaining
4312
- * essential identification data whilst enabling efficient navigation
4313
- * within the documentation system. These elements are commonly used
4314
- * in member lists and summary sections where full member details
4315
- * are not required.
4316
- *
4317
- * @public
4318
- */
4319
- export declare class MemberDataModel extends AbstractMemberType {
4320
- /**
4321
- * Constructs a new member data model instance.
4322
- *
4323
- * @param xml - The XML parser instance for processing elements
4324
- * @param element - The source XML element containing member data
4325
- *
4326
- * @remarks
4327
- * Initialises the data model with the specific element name 'member'
4328
- * and delegates processing to the abstract base class implementation.
4329
- * This ensures consistent handling of simplified member information
4330
- * whilst maintaining proper element identification for cross-referencing
4331
- * and navigation functionality.
4332
- *
4333
- * @public
4334
- */
4335
- constructor(xml: DoxygenXmlParser, element: object);
4336
- }
4337
-
4338
- /**
4339
- * Concrete implementation for memberdef elements within compound documentation.
4340
- *
4341
- * @remarks
4342
- * Provides specific handling for memberdef XML elements that contain
4343
- * comprehensive member definition information within classes, structures,
4344
- * namespaces, and other compound types. This implementation extends the
4345
- * abstract base class functionality to process the complete range of
4346
- * member definitions including functions, variables, typedefs, enums,
4347
- * and specialised language constructs.
4348
- *
4349
- * The class ensures proper instantiation of member definition data models
4350
- * whilst maintaining all the detailed metadata required for accurate
4351
- * documentation generation including cross-references, location information,
4352
- * and language-specific attributes.
4353
- *
4354
- * @public
4355
- */
4356
- export declare class MemberDefDataModel extends AbstractMemberDefType {
4357
- /**
4358
- * Constructs a new memberdef data model instance.
4359
- *
4360
- * @param xml - The XML parser instance for processing elements
4361
- * @param element - The source XML element containing memberdef data
4362
- *
4363
- * @remarks
4364
- * Initialises the data model with the specific element name 'memberdef'
4365
- * and delegates processing to the abstract base class implementation.
4366
- * This ensures consistent handling of member definition information
4367
- * whilst maintaining proper element identification.
4368
- *
4369
- * @public
4370
- */
4371
- constructor(xml: DoxygenXmlParser, element: object);
4372
- }
4373
-
4374
- /**
4375
- * Concrete implementation for member reference elements within documentation.
4376
- *
4377
- * @remarks
4378
- * Provides specific handling for member XML elements that contain
4379
- * comprehensive member reference information within class and compound
4380
- * documentation. This implementation extends the abstract base class
4381
- * functionality to process member references with the specific element
4382
- * name 'member'.
4383
- *
4384
- * The class ensures proper instantiation of member reference data models
4385
- * whilst maintaining all the cross-referencing metadata required for
4386
- * accurate documentation linking and navigation between related members
4387
- * within the documentation system.
4388
- *
4389
- * @public
4390
- */
4391
- export declare class MemberRefDataModel extends AbstractMemberRefType {
4392
- /**
4393
- * Constructs a new member reference data model instance.
4394
- *
4395
- * @param xml - The XML parser instance for processing elements
4396
- * @param element - The source XML element containing member reference data
4397
- *
4398
- * @remarks
4399
- * Initialises the data model with the specific element name 'member'
4400
- * and delegates processing to the abstract base class implementation.
4401
- * This ensures consistent handling of member reference information
4402
- * whilst maintaining proper element identification for cross-referencing
4403
- * functionality.
4404
- *
4405
- * @public
4406
- */
4407
- constructor(xml: DoxygenXmlParser, element: object);
4408
- }
4409
-
4410
- /**
4411
- * Multiple configuration sets for different build scenarios.
4412
- *
4413
- * @remarks
4414
- * Allows defining different configuration profiles that can be selected
4415
- * based on the build context or command line parameters.
4416
- *
4417
- * @public
4418
- */
4419
- declare type MultiConfigurations = Record<string, CliConfigurationOptions>;
4420
-
4421
- /**
4422
- * Concrete implementation for parameter elements within function documentation.
4423
- *
4424
- * @remarks
4425
- * Provides specific handling for param XML elements that contain
4426
- * comprehensive parameter information within function and method
4427
- * documentation. This implementation extends the abstract base class
4428
- * functionality to process parameter elements with the specific
4429
- * element name 'param'.
4430
- *
4431
- * The class ensures proper instantiation of parameter data models
4432
- * whilst maintaining all the detailed parameter metadata required
4433
- * for accurate function signature documentation including type
4434
- * information, naming variations, default values, constraints,
4435
- * and descriptive information.
4436
- *
4437
- * @public
4438
- */
4439
- export declare class ParamDataModel extends AbstractParamType {
4440
- /**
4441
- * Constructs a new parameter data model instance.
4442
- *
4443
- * @param xml - The XML parser instance for processing elements
4444
- * @param element - The source XML element containing parameter data
4445
- *
4446
- * @remarks
4447
- * Initialises the data model with the specific element name 'param'
4448
- * and delegates processing to the abstract base class implementation.
4449
- * This ensures consistent handling of parameter information whilst
4450
- * maintaining proper element identification for function signature
4451
- * documentation and API reference generation.
4452
- *
4453
- * @public
4454
- */
4455
- constructor(xml: DoxygenXmlParser, element: object);
4456
- }
4457
-
4458
- /**
4459
- * Data model for programlisting XML elements containing source code.
4460
- *
4461
- * @remarks
4462
- * Represents program listings that contain source code with optional
4463
- * syntax highlighting and line numbering. This implementation processes
4464
- * Doxygen's programlisting elements, which are commonly used to display
4465
- * code examples, function implementations, and other programming content
4466
- * within documentation.
4467
- *
4468
- * @public
4469
- */
4470
- export declare class ProgramListingDataModel extends AbstractListingType {
4471
- /**
4472
- * Constructs a ProgramListingDataModel from XML element data.
4473
- *
4474
- * @param xml - The Doxygen XML parser instance for processing XML content
4475
- * @param element - The XML element object containing the programlisting data
4476
- *
4477
- * @remarks
4478
- * This constructor delegates to the parent AbstractListingType to handle
4479
- * the standard listing processing whilst specifically identifying the
4480
- * element as a 'programlisting' type for proper XML schema compliance.
4481
- */
4482
- constructor(xml: DoxygenXmlParser, element: object);
4483
- }
4484
-
4485
- /**
4486
- * Data model for reference relationship elements.
4487
- *
4488
- * @remarks
4489
- * Represents a forward reference relationship within Doxygen XML
4490
- * documentation, corresponding to the references XML element. This class
4491
- * manages relationships where the current entity references or depends upon
4492
- * another documented entity. The relationship captures both the descriptive
4493
- * information and precise location data, enabling comprehensive dependency
4494
- * tracking and navigation capabilities. Forward references help document
4495
- * how entities use or depend on other components within the codebase.
4496
- *
4497
- * @public
4498
- */
4499
- export declare class ReferenceDataModel extends AbstractReferenceType {
4500
- /**
4501
- * Constructs a new reference relationship data model from XML.
4502
- *
4503
- * @param xml - The Doxygen XML parser instance
4504
- * @param element - The XML element containing reference relationship data
4505
- *
4506
- * @remarks
4507
- * Creates a complete forward reference relationship data model by parsing
4508
- * the provided XML element. This constructor delegates to the parent class
4509
- * to handle all standard parsing operations for the references element type,
4510
- * establishing the forward dependency relationship between the current
4511
- * entity and the referenced component.
4512
- */
4513
- constructor(xml: DoxygenXmlParser, element: object);
4514
- }
4515
-
4516
- /**
4517
- * Data model for referenced-by relationship elements.
4518
- *
4519
- * @remarks
4520
- * Represents a reverse reference relationship within Doxygen XML
4521
- * documentation, corresponding to the referencedby XML element. This class
4522
- * manages relationships where the current entity is referenced or used by
4523
- * another documented entity. The relationship provides bidirectional
4524
- * dependency information, enabling comprehensive understanding of how
4525
- * entities are utilised throughout the codebase. Referenced-by relationships
4526
- * are essential for impact analysis and understanding the scope of changes
4527
- * when modifying documented components.
4528
- *
4529
- * @public
4530
- */
4531
- export declare class ReferencedByDataModel extends AbstractReferenceType {
4532
- /**
4533
- * Constructs a new referenced-by relationship data model from XML.
4534
- *
4535
- * @param xml - The Doxygen XML parser instance
4536
- * @param element - The XML element containing referenced-by relationship data
4537
- *
4538
- * @remarks
4539
- * Creates a complete reverse reference relationship data model by parsing
4540
- * the provided XML element. This constructor delegates to the parent class
4541
- * to handle all standard parsing operations for the referencedby element
4542
- * type, establishing the reverse dependency relationship indicating how
4543
- * other entities utilise the current component.
4544
- */
4545
- constructor(xml: DoxygenXmlParser, element: object);
4546
- }
4547
-
4548
- /**
4549
- * Data model for reimplement relationship elements.
4550
- *
4551
- * @remarks
4552
- * Represents a specific reimplement relationship within Doxygen XML
4553
- * documentation, corresponding to the reimplements XML element. This class
4554
- * manages relationships where the current entity reimplements or overrides
4555
- * behaviour from a base class or interface. The relationship captures both
4556
- * the descriptive information and the reference to the original implementation,
4557
- * enabling comprehensive documentation of polymorphic behaviours and
4558
- * inheritance patterns within object-oriented codebases.
4559
- *
4560
- * @public
4561
- */
4562
- export declare class ReimplementDataModel extends AbstractReimplementType {
4563
- /**
4564
- * Constructs a new reimplement relationship data model from XML.
4565
- *
4566
- * @param xml - The Doxygen XML parser instance
4567
- * @param element - The XML element containing reimplement relationship data
4568
- *
4569
- * @remarks
4570
- * Creates a complete reimplement relationship data model by parsing the
4571
- * provided XML element. This constructor delegates to the parent class to
4572
- * handle all standard parsing operations for the reimplements element type,
4573
- * establishing the relationship between the current entity and the
4574
- * reimplemented base implementation.
4575
- */
4576
- constructor(xml: DoxygenXmlParser, element: object);
4577
- }
4578
-
4579
- /**
4580
- * Concrete data model for section definition elements.
4581
- *
4582
- * @remarks
4583
- * Represents a specific section definition within Doxygen XML documentation,
4584
- * corresponding to the sectiondef XML element. This class provides the
4585
- * complete implementation for parsing and managing section definition data,
4586
- * including all supported attributes, elements, and member collections. Each
4587
- * instance represents a single section within a compound or group structure.
4588
- *
4589
- * @public
4590
- */
4591
- export declare class SectionDefDataModel extends AbstractSectionDefType {
4592
- /**
4593
- * Constructs a new section definition data model from XML.
4594
- *
4595
- * @param xml - The Doxygen XML parser instance
4596
- * @param element - The XML element containing section definition data
4597
- *
4598
- * @remarks
4599
- * Creates a complete section definition data model by parsing the provided
4600
- * XML element. This constructor delegates to the parent class to handle all
4601
- * standard parsing operations for the sectiondef element type.
4602
- */
4603
- constructor(xml: DoxygenXmlParser, element: object);
4604
- }
4605
-
4606
- /**
4607
- * Concrete data model class for table of contents elements.
4608
- *
4609
- * @remarks
4610
- * Represents individual table of contents elements found within Doxygen
4611
- * compound XML structures. This class extends the abstract base to provide
4612
- * specific handling for 'tableofcontents' elements, which define the
4613
- * structural navigation and organisation of documentation content. Each
4614
- * table of contents provides hierarchical access to documentation sections
4615
- * and subsections.
4616
- *
4617
- * @public
4618
- */
4619
- export declare class TableOfContentsDataModel extends AbstractTableOfContentsType {
4620
- /**
4621
- * Constructs a new TableOfContentsDataModel instance from XML data.
4622
- *
4623
- * @param xml - The Doxygen XML parser instance for processing XML elements
4624
- * @param element - The XML element containing the table of contents data
4625
- *
4626
- * @remarks
4627
- * Initialises the table of contents data model by parsing the provided
4628
- * XML element as a 'tableofcontents' element type. The constructor
4629
- * delegates to the parent class for common table of contents processing
4630
- * whilst specifying the element name for proper XML structure handling.
4631
- */
4632
- constructor(xml: DoxygenXmlParser, element: object);
4633
- }
4634
-
4635
- /**
4636
- * Concrete data model class for template parameter list elements.
4637
- *
4638
- * @remarks
4639
- * Represents individual template parameter list elements found within
4640
- * Doxygen compound XML structures. This class extends the abstract base
4641
- * to provide specific handling for 'templateparamlist' elements, which
4642
- * define the template parameters for templated constructs such as template
4643
- * classes, template functions, and template variables. Each template
4644
- * parameter list contains parameter definitions that specify the generic
4645
- * types and values used in template instantiation.
4646
- *
4647
- * @public
4648
- */
4649
- export declare class TemplateParamListDataModel extends AbstractTemplateParamListType {
4650
- /**
4651
- * Constructs a new TemplateParamListDataModel instance from XML data.
4652
- *
4653
- * @param xml - The Doxygen XML parser instance for processing XML elements
4654
- * @param element - The XML element containing the template parameter list
4655
- * data
4656
- *
4657
- * @remarks
4658
- * Initialises the template parameter list data model by parsing the
4659
- * provided XML element as a 'templateparamlist' element type. The
4660
- * constructor delegates to the parent class for common parameter list
4661
- * processing whilst specifying the element name for proper XML structure
4662
- * handling.
4663
- */
4664
- constructor(xml: DoxygenXmlParser, element: object);
4665
- }
4666
-
4667
- /**
4668
- * Concrete data model class for table of contents section elements.
4669
- *
4670
- * @remarks
4671
- * Represents individual table of contents section elements found within
4672
- * Doxygen XML structures. This class extends the abstract base to provide
4673
- * specific handling for 'tocsect' elements, which define named sections
4674
- * within the table of contents hierarchy. Each section includes a name,
4675
- * reference, and potentially nested subsections for comprehensive
4676
- * documentation navigation.
4677
- *
4678
- * @public
4679
- */
4680
- export declare class TocSectDataModel extends AbstractTableOfContentsKindType {
4681
- /**
4682
- * Constructs a new TocSectDataModel instance from XML data.
4683
- *
4684
- * @param xml - The Doxygen XML parser instance for processing XML elements
4685
- * @param element - The XML element containing the table of contents section
4686
- * data
4687
- *
4688
- * @remarks
4689
- * Initialises the table of contents section data model by parsing the
4690
- * provided XML element as a 'tocsect' element type. The constructor
4691
- * delegates to the parent class for common section processing whilst
4692
- * specifying the element name for proper XML structure handling.
4693
- */
4694
- constructor(xml: DoxygenXmlParser, element: object);
4695
- }
4696
-
4697
- /**
4698
- * Data model for type constraint elements within documentation content.
4699
- *
4700
- * @remarks
4701
- * Represents type constraint elements that contain template and generic
4702
- * type constraint information within source code documentation. This
4703
- * implementation processes Doxygen's typeconstraint elements, which contain
4704
- * mixed text and reference content describing constraints applied to
4705
- * template parameters and generic types.
4706
- *
4707
- * The linked text structure enables cross-references to constraint types,
4708
- * concepts, and related template documentation within constraint expressions.
4709
- *
4710
- * @public
4711
- */
4712
- export declare class TypeConstraintDataModel extends AbstractLinkedTextType {
4713
- /**
4714
- * Constructs a TypeConstraintDataModel from XML element data.
4715
- *
4716
- * @param xml - The Doxygen XML parser instance for processing XML content
4717
- * @param element - The XML element object containing the type constraint data
4718
- *
4719
- * @remarks
4720
- * This constructor delegates to the parent AbstractLinkedTextType to
4721
- * handle linked text processing whilst identifying the element as
4722
- * 'typeconstraint' for proper XML schema compliance and type constraint
4723
- * content processing.
4724
- */
4725
- constructor(xml: DoxygenXmlParser, element: object);
4726
- }
4727
-
4728
- /**
4729
- * Data model for type elements within documentation content.
4730
- *
4731
- * @remarks
4732
- * Represents type elements that contain type information and declarations
4733
- * within source code documentation. This implementation processes Doxygen's
4734
- * type elements, which contain mixed text and reference content describing
4735
- * data types, including primitive types, class names, template parameters,
4736
- * and complex type expressions.
4737
- *
4738
- * The linked text structure enables cross-references to type definitions
4739
- * and related documentation within the type expressions.
4740
- *
4741
- * @public
4742
- */
4743
- export declare class TypeDataModel extends AbstractLinkedTextType {
4744
- /**
4745
- * Constructs a TypeDataModel from XML element data.
4746
- *
4747
- * @param xml - The Doxygen XML parser instance for processing XML content
4748
- * @param element - The XML element object containing the type data
4749
- *
4750
- * @remarks
4751
- * This constructor delegates to the parent AbstractLinkedTextType to
4752
- * handle linked text processing whilst identifying the element as 'type'
4753
- * for proper XML schema compliance and type information content processing.
4754
- */
4755
- constructor(xml: DoxygenXmlParser, element: object);
4756
- }
4757
-
4758
- /**
4759
- * Represents a generic XML element in the parsed structure.
4760
- *
4761
- * @remarks
4762
- * Defines the structure used by the XML parser for representing parsed
4763
- * XML elements, including text content, attributes, and child elements.
4764
- * Each element maps keys to arrays of child elements.
4765
- *
4766
- * @public
4767
- */
4768
- export declare interface XmlElement {
4769
- (key: string): XmlElement[];
4770
- '#text': string | number | boolean;
4771
- ':@'?: Record<string, string | number | boolean>;
4772
- }
4773
-
4774
- export { }