@speclynx/apidom-ns-openapi-3-0 1.12.1 → 2.0.1

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 (328) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/NOTICE +16 -7
  3. package/README.md +22 -26
  4. package/dist/apidom-ns-openapi-3-0.browser.js +9652 -13646
  5. package/dist/apidom-ns-openapi-3-0.browser.min.js +1 -1
  6. package/package.json +8 -7
  7. package/src/elements/Callback.cjs +2 -2
  8. package/src/elements/Callback.mjs +1 -1
  9. package/src/elements/Components.cjs +4 -4
  10. package/src/elements/Components.mjs +3 -3
  11. package/src/elements/Contact.cjs +2 -2
  12. package/src/elements/Contact.mjs +1 -1
  13. package/src/elements/Discriminator.cjs +2 -2
  14. package/src/elements/Discriminator.mjs +1 -1
  15. package/src/elements/Encoding.cjs +2 -2
  16. package/src/elements/Encoding.mjs +1 -1
  17. package/src/elements/Example.cjs +2 -2
  18. package/src/elements/Example.mjs +1 -1
  19. package/src/elements/ExternalDocumentation.cjs +2 -2
  20. package/src/elements/ExternalDocumentation.mjs +1 -1
  21. package/src/elements/Header.cjs +6 -6
  22. package/src/elements/Header.mjs +3 -3
  23. package/src/elements/Info.cjs +2 -2
  24. package/src/elements/Info.mjs +1 -1
  25. package/src/elements/License.cjs +2 -2
  26. package/src/elements/License.mjs +1 -1
  27. package/src/elements/Link.cjs +4 -4
  28. package/src/elements/Link.mjs +1 -1
  29. package/src/elements/MediaType.cjs +2 -2
  30. package/src/elements/MediaType.mjs +1 -1
  31. package/src/elements/OAuthFlow.cjs +2 -2
  32. package/src/elements/OAuthFlow.mjs +1 -1
  33. package/src/elements/OAuthFlows.cjs +2 -2
  34. package/src/elements/OAuthFlows.mjs +1 -1
  35. package/src/elements/OpenApi3-0.cjs +2 -2
  36. package/src/elements/OpenApi3-0.mjs +1 -1
  37. package/src/elements/Openapi.cjs +2 -2
  38. package/src/elements/Openapi.mjs +1 -1
  39. package/src/elements/Operation.cjs +3 -3
  40. package/src/elements/Operation.mjs +1 -1
  41. package/src/elements/Parameter.cjs +6 -6
  42. package/src/elements/Parameter.mjs +3 -3
  43. package/src/elements/PathItem.cjs +26 -26
  44. package/src/elements/PathItem.mjs +25 -25
  45. package/src/elements/Paths.cjs +2 -2
  46. package/src/elements/Paths.mjs +1 -1
  47. package/src/elements/Reference.cjs +2 -2
  48. package/src/elements/Reference.mjs +1 -1
  49. package/src/elements/RequestBody.cjs +5 -5
  50. package/src/elements/RequestBody.mjs +3 -3
  51. package/src/elements/Response.cjs +7 -7
  52. package/src/elements/Response.mjs +6 -6
  53. package/src/elements/Responses.cjs +2 -2
  54. package/src/elements/Responses.mjs +1 -1
  55. package/src/elements/Schema.cjs +10 -10
  56. package/src/elements/Schema.mjs +10 -10
  57. package/src/elements/SecurityRequirement.cjs +2 -2
  58. package/src/elements/SecurityRequirement.mjs +1 -1
  59. package/src/elements/SecurityScheme.cjs +2 -2
  60. package/src/elements/SecurityScheme.mjs +1 -1
  61. package/src/elements/Server.cjs +2 -2
  62. package/src/elements/Server.mjs +1 -1
  63. package/src/elements/ServerVariable.cjs +2 -2
  64. package/src/elements/ServerVariable.mjs +1 -1
  65. package/src/elements/Tag.cjs +2 -2
  66. package/src/elements/Tag.mjs +1 -1
  67. package/src/elements/Xml.cjs +2 -2
  68. package/src/elements/Xml.mjs +1 -1
  69. package/src/elements/nces/ComponentsCallbacks.cjs +2 -2
  70. package/src/elements/nces/ComponentsCallbacks.mjs +1 -1
  71. package/src/elements/nces/ComponentsExamples.cjs +2 -2
  72. package/src/elements/nces/ComponentsExamples.mjs +1 -1
  73. package/src/elements/nces/ComponentsHeaders.cjs +2 -2
  74. package/src/elements/nces/ComponentsHeaders.mjs +1 -1
  75. package/src/elements/nces/ComponentsLinks.cjs +2 -2
  76. package/src/elements/nces/ComponentsLinks.mjs +1 -1
  77. package/src/elements/nces/ComponentsParameters.cjs +2 -2
  78. package/src/elements/nces/ComponentsParameters.mjs +1 -1
  79. package/src/elements/nces/ComponentsRequestBodies.cjs +2 -2
  80. package/src/elements/nces/ComponentsRequestBodies.mjs +1 -1
  81. package/src/elements/nces/ComponentsResponses.cjs +2 -2
  82. package/src/elements/nces/ComponentsResponses.mjs +1 -1
  83. package/src/elements/nces/ComponentsSchemas.cjs +2 -2
  84. package/src/elements/nces/ComponentsSchemas.mjs +1 -1
  85. package/src/elements/nces/ComponentsSecuritySchemes.cjs +2 -2
  86. package/src/elements/nces/ComponentsSecuritySchemes.mjs +1 -1
  87. package/src/elements/nces/DiscriminatorMapping.cjs +2 -2
  88. package/src/elements/nces/DiscriminatorMapping.mjs +1 -1
  89. package/src/elements/nces/EncodingHeaders.cjs +2 -2
  90. package/src/elements/nces/EncodingHeaders.mjs +1 -1
  91. package/src/elements/nces/HeaderContent.cjs +2 -2
  92. package/src/elements/nces/HeaderContent.mjs +1 -1
  93. package/src/elements/nces/HeaderExamples.cjs +2 -2
  94. package/src/elements/nces/HeaderExamples.mjs +1 -1
  95. package/src/elements/nces/LinkParameters.cjs +2 -2
  96. package/src/elements/nces/LinkParameters.mjs +1 -1
  97. package/src/elements/nces/MediaTypeEncoding.cjs +2 -2
  98. package/src/elements/nces/MediaTypeEncoding.mjs +1 -1
  99. package/src/elements/nces/MediaTypeExamples.cjs +2 -2
  100. package/src/elements/nces/MediaTypeExamples.mjs +1 -1
  101. package/src/elements/nces/OAuthFlowScopes.cjs +2 -2
  102. package/src/elements/nces/OAuthFlowScopes.mjs +1 -1
  103. package/src/elements/nces/OperationCallbacks.cjs +2 -2
  104. package/src/elements/nces/OperationCallbacks.mjs +1 -1
  105. package/src/elements/nces/OperationParameters.cjs +2 -2
  106. package/src/elements/nces/OperationParameters.mjs +1 -1
  107. package/src/elements/nces/OperationSecurity.cjs +2 -2
  108. package/src/elements/nces/OperationSecurity.mjs +1 -1
  109. package/src/elements/nces/OperationServers.cjs +2 -2
  110. package/src/elements/nces/OperationServers.mjs +1 -1
  111. package/src/elements/nces/OperationTags.cjs +2 -2
  112. package/src/elements/nces/OperationTags.mjs +1 -1
  113. package/src/elements/nces/ParameterContent.cjs +2 -2
  114. package/src/elements/nces/ParameterContent.mjs +1 -1
  115. package/src/elements/nces/ParameterExamples.cjs +2 -2
  116. package/src/elements/nces/ParameterExamples.mjs +1 -1
  117. package/src/elements/nces/PathItemParameters.cjs +2 -2
  118. package/src/elements/nces/PathItemParameters.mjs +1 -1
  119. package/src/elements/nces/PathItemServers.cjs +2 -2
  120. package/src/elements/nces/PathItemServers.mjs +1 -1
  121. package/src/elements/nces/RequestBodyContent.cjs +2 -2
  122. package/src/elements/nces/RequestBodyContent.mjs +1 -1
  123. package/src/elements/nces/ResponseContent.cjs +2 -2
  124. package/src/elements/nces/ResponseContent.mjs +1 -1
  125. package/src/elements/nces/ResponseHeaders.cjs +2 -2
  126. package/src/elements/nces/ResponseHeaders.mjs +1 -1
  127. package/src/elements/nces/ResponseLinks.cjs +2 -2
  128. package/src/elements/nces/ResponseLinks.mjs +1 -1
  129. package/src/elements/nces/Security.cjs +2 -2
  130. package/src/elements/nces/Security.mjs +1 -1
  131. package/src/elements/nces/ServerVariables.cjs +2 -2
  132. package/src/elements/nces/ServerVariables.mjs +1 -1
  133. package/src/elements/nces/Servers.cjs +2 -2
  134. package/src/elements/nces/Servers.mjs +1 -1
  135. package/src/elements/nces/Tags.cjs +2 -2
  136. package/src/elements/nces/Tags.mjs +1 -1
  137. package/src/index.cjs +73 -52
  138. package/src/index.mjs +6 -6
  139. package/src/namespace.cjs +0 -1
  140. package/src/predicates.cjs +54 -187
  141. package/src/predicates.mjs +28 -187
  142. package/src/refractor/index.cjs +321 -17
  143. package/src/refractor/index.mjs +289 -16
  144. package/src/refractor/inspect.cjs +205 -0
  145. package/src/refractor/inspect.mjs +170 -0
  146. package/src/refractor/plugins/replace-empty-element.cjs +25 -21
  147. package/src/refractor/plugins/replace-empty-element.mjs +13 -9
  148. package/src/refractor/predicates.cjs +5 -5
  149. package/src/refractor/predicates.mjs +2 -2
  150. package/src/refractor/specification.cjs +65 -12
  151. package/src/refractor/specification.mjs +65 -12
  152. package/src/refractor/toolbox.cjs +6 -16
  153. package/src/refractor/toolbox.mjs +6 -15
  154. package/src/refractor/visitors/FallbackVisitor.cjs +4 -4
  155. package/src/refractor/visitors/FallbackVisitor.mjs +4 -4
  156. package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +4 -4
  157. package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +4 -4
  158. package/src/refractor/visitors/SpecificationVisitor.cjs +6 -3
  159. package/src/refractor/visitors/SpecificationVisitor.mjs +5 -2
  160. package/src/refractor/visitors/Visitor.cjs +10 -8
  161. package/src/refractor/visitors/Visitor.mjs +11 -9
  162. package/src/refractor/visitors/generics/AlternatingVisitor.cjs +3 -3
  163. package/src/refractor/visitors/generics/AlternatingVisitor.mjs +3 -3
  164. package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +10 -7
  165. package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +9 -6
  166. package/src/refractor/visitors/generics/MixedFieldsVisitor.cjs +13 -6
  167. package/src/refractor/visitors/generics/MixedFieldsVisitor.mjs +13 -6
  168. package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +9 -6
  169. package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +8 -5
  170. package/src/refractor/visitors/open-api-3-0/ContentVisitor.cjs +4 -7
  171. package/src/refractor/visitors/open-api-3-0/ContentVisitor.mjs +3 -5
  172. package/src/refractor/visitors/open-api-3-0/ExamplesVisitor.cjs +7 -11
  173. package/src/refractor/visitors/open-api-3-0/ExamplesVisitor.mjs +6 -9
  174. package/src/refractor/visitors/open-api-3-0/OpenapiVisitor.cjs +5 -6
  175. package/src/refractor/visitors/open-api-3-0/OpenapiVisitor.mjs +6 -7
  176. package/src/refractor/visitors/open-api-3-0/ParametersVisitor.cjs +8 -10
  177. package/src/refractor/visitors/open-api-3-0/ParametersVisitor.mjs +7 -8
  178. package/src/refractor/visitors/open-api-3-0/SecurityVisitor.cjs +8 -9
  179. package/src/refractor/visitors/open-api-3-0/SecurityVisitor.mjs +6 -7
  180. package/src/refractor/visitors/open-api-3-0/ServersVisitor.cjs +5 -7
  181. package/src/refractor/visitors/open-api-3-0/ServersVisitor.mjs +5 -7
  182. package/src/refractor/visitors/open-api-3-0/TagsVisitor.cjs +5 -7
  183. package/src/refractor/visitors/open-api-3-0/TagsVisitor.mjs +5 -7
  184. package/src/refractor/visitors/open-api-3-0/bases.cjs +72 -0
  185. package/src/refractor/visitors/open-api-3-0/bases.mjs +67 -0
  186. package/src/refractor/visitors/open-api-3-0/callback/index.cjs +5 -8
  187. package/src/refractor/visitors/open-api-3-0/callback/index.mjs +5 -8
  188. package/src/refractor/visitors/open-api-3-0/components/CallbacksVisitor.cjs +5 -7
  189. package/src/refractor/visitors/open-api-3-0/components/CallbacksVisitor.mjs +5 -7
  190. package/src/refractor/visitors/open-api-3-0/components/ExamplesVisitor.cjs +5 -7
  191. package/src/refractor/visitors/open-api-3-0/components/ExamplesVisitor.mjs +5 -7
  192. package/src/refractor/visitors/open-api-3-0/components/HeadersVisitor.cjs +6 -8
  193. package/src/refractor/visitors/open-api-3-0/components/HeadersVisitor.mjs +6 -8
  194. package/src/refractor/visitors/open-api-3-0/components/LinksVisitor.cjs +5 -7
  195. package/src/refractor/visitors/open-api-3-0/components/LinksVisitor.mjs +5 -7
  196. package/src/refractor/visitors/open-api-3-0/components/ParametersVisitor.cjs +5 -7
  197. package/src/refractor/visitors/open-api-3-0/components/ParametersVisitor.mjs +5 -7
  198. package/src/refractor/visitors/open-api-3-0/components/RequestBodiesVisitor.cjs +5 -7
  199. package/src/refractor/visitors/open-api-3-0/components/RequestBodiesVisitor.mjs +5 -7
  200. package/src/refractor/visitors/open-api-3-0/components/ResponsesVisitor.cjs +6 -8
  201. package/src/refractor/visitors/open-api-3-0/components/ResponsesVisitor.mjs +6 -8
  202. package/src/refractor/visitors/open-api-3-0/components/SchemasVisitor.cjs +5 -7
  203. package/src/refractor/visitors/open-api-3-0/components/SchemasVisitor.mjs +5 -7
  204. package/src/refractor/visitors/open-api-3-0/components/SecuritySchemesVisitor.cjs +5 -7
  205. package/src/refractor/visitors/open-api-3-0/components/SecuritySchemesVisitor.mjs +5 -7
  206. package/src/refractor/visitors/open-api-3-0/components/index.cjs +2 -4
  207. package/src/refractor/visitors/open-api-3-0/components/index.mjs +2 -4
  208. package/src/refractor/visitors/open-api-3-0/contact/index.cjs +2 -8
  209. package/src/refractor/visitors/open-api-3-0/contact/index.mjs +2 -7
  210. package/src/refractor/visitors/open-api-3-0/distriminator/MappingVisitor.cjs +2 -8
  211. package/src/refractor/visitors/open-api-3-0/distriminator/MappingVisitor.mjs +2 -7
  212. package/src/refractor/visitors/open-api-3-0/distriminator/index.cjs +2 -8
  213. package/src/refractor/visitors/open-api-3-0/distriminator/index.mjs +2 -7
  214. package/src/refractor/visitors/open-api-3-0/encoding/HeadersVisitor.cjs +7 -8
  215. package/src/refractor/visitors/open-api-3-0/encoding/HeadersVisitor.mjs +7 -8
  216. package/src/refractor/visitors/open-api-3-0/encoding/index.cjs +7 -8
  217. package/src/refractor/visitors/open-api-3-0/encoding/index.mjs +7 -8
  218. package/src/refractor/visitors/open-api-3-0/example/ExternalValueVisitor.cjs +2 -3
  219. package/src/refractor/visitors/open-api-3-0/example/ExternalValueVisitor.mjs +2 -3
  220. package/src/refractor/visitors/open-api-3-0/example/index.cjs +6 -13
  221. package/src/refractor/visitors/open-api-3-0/example/index.mjs +5 -11
  222. package/src/refractor/visitors/open-api-3-0/external-documentation/index.cjs +2 -8
  223. package/src/refractor/visitors/open-api-3-0/external-documentation/index.mjs +2 -7
  224. package/src/refractor/visitors/open-api-3-0/header/SchemaVisitor.cjs +5 -11
  225. package/src/refractor/visitors/open-api-3-0/header/SchemaVisitor.mjs +5 -10
  226. package/src/refractor/visitors/open-api-3-0/header/index.cjs +2 -8
  227. package/src/refractor/visitors/open-api-3-0/header/index.mjs +2 -7
  228. package/src/refractor/visitors/open-api-3-0/index.cjs +4 -6
  229. package/src/refractor/visitors/open-api-3-0/index.mjs +4 -6
  230. package/src/refractor/visitors/open-api-3-0/info/VersionVisitor.cjs +2 -3
  231. package/src/refractor/visitors/open-api-3-0/info/VersionVisitor.mjs +2 -3
  232. package/src/refractor/visitors/open-api-3-0/info/index.cjs +2 -8
  233. package/src/refractor/visitors/open-api-3-0/info/index.mjs +2 -7
  234. package/src/refractor/visitors/open-api-3-0/license/index.cjs +2 -8
  235. package/src/refractor/visitors/open-api-3-0/license/index.mjs +2 -7
  236. package/src/refractor/visitors/open-api-3-0/link/OperationIdVisitor.cjs +2 -3
  237. package/src/refractor/visitors/open-api-3-0/link/OperationIdVisitor.mjs +2 -3
  238. package/src/refractor/visitors/open-api-3-0/link/OperationRefVisitor.cjs +2 -3
  239. package/src/refractor/visitors/open-api-3-0/link/OperationRefVisitor.mjs +2 -3
  240. package/src/refractor/visitors/open-api-3-0/link/ParametersVisitor.cjs +2 -8
  241. package/src/refractor/visitors/open-api-3-0/link/ParametersVisitor.mjs +2 -7
  242. package/src/refractor/visitors/open-api-3-0/link/index.cjs +6 -13
  243. package/src/refractor/visitors/open-api-3-0/link/index.mjs +5 -11
  244. package/src/refractor/visitors/open-api-3-0/media-type/EncodingVisitor.cjs +2 -8
  245. package/src/refractor/visitors/open-api-3-0/media-type/EncodingVisitor.mjs +2 -7
  246. package/src/refractor/visitors/open-api-3-0/media-type/SchemaVisitor.cjs +5 -11
  247. package/src/refractor/visitors/open-api-3-0/media-type/SchemaVisitor.mjs +5 -10
  248. package/src/refractor/visitors/open-api-3-0/media-type/index.cjs +2 -8
  249. package/src/refractor/visitors/open-api-3-0/media-type/index.mjs +2 -7
  250. package/src/refractor/visitors/open-api-3-0/oauth-flow/ScopesVisitor.cjs +2 -8
  251. package/src/refractor/visitors/open-api-3-0/oauth-flow/ScopesVisitor.mjs +2 -7
  252. package/src/refractor/visitors/open-api-3-0/oauth-flow/index.cjs +2 -8
  253. package/src/refractor/visitors/open-api-3-0/oauth-flow/index.mjs +2 -7
  254. package/src/refractor/visitors/open-api-3-0/oauth-flows/index.cjs +2 -8
  255. package/src/refractor/visitors/open-api-3-0/oauth-flows/index.mjs +2 -7
  256. package/src/refractor/visitors/open-api-3-0/operation/CallbacksVisitor.cjs +5 -7
  257. package/src/refractor/visitors/open-api-3-0/operation/CallbacksVisitor.mjs +5 -7
  258. package/src/refractor/visitors/open-api-3-0/operation/RequestBodyVisitor.cjs +3 -4
  259. package/src/refractor/visitors/open-api-3-0/operation/RequestBodyVisitor.mjs +3 -4
  260. package/src/refractor/visitors/open-api-3-0/operation/SecurityVisitor.cjs +7 -8
  261. package/src/refractor/visitors/open-api-3-0/operation/SecurityVisitor.mjs +6 -7
  262. package/src/refractor/visitors/open-api-3-0/operation/TagsVisitor.cjs +5 -4
  263. package/src/refractor/visitors/open-api-3-0/operation/TagsVisitor.mjs +4 -3
  264. package/src/refractor/visitors/open-api-3-0/operation/index.cjs +2 -4
  265. package/src/refractor/visitors/open-api-3-0/operation/index.mjs +2 -4
  266. package/src/refractor/visitors/open-api-3-0/parameter/SchemaVisitor.cjs +5 -7
  267. package/src/refractor/visitors/open-api-3-0/parameter/SchemaVisitor.mjs +5 -7
  268. package/src/refractor/visitors/open-api-3-0/parameter/index.cjs +8 -9
  269. package/src/refractor/visitors/open-api-3-0/parameter/index.mjs +9 -10
  270. package/src/refractor/visitors/open-api-3-0/path-item/$RefVisitor.cjs +2 -3
  271. package/src/refractor/visitors/open-api-3-0/path-item/$RefVisitor.mjs +2 -3
  272. package/src/refractor/visitors/open-api-3-0/path-item/index.cjs +8 -10
  273. package/src/refractor/visitors/open-api-3-0/path-item/index.mjs +7 -9
  274. package/src/refractor/visitors/open-api-3-0/paths/index.cjs +6 -9
  275. package/src/refractor/visitors/open-api-3-0/paths/index.mjs +6 -9
  276. package/src/refractor/visitors/open-api-3-0/reference/$RefVisitor.cjs +2 -3
  277. package/src/refractor/visitors/open-api-3-0/reference/$RefVisitor.mjs +2 -3
  278. package/src/refractor/visitors/open-api-3-0/reference/index.cjs +6 -9
  279. package/src/refractor/visitors/open-api-3-0/reference/index.mjs +5 -8
  280. package/src/refractor/visitors/open-api-3-0/request-body/index.cjs +8 -9
  281. package/src/refractor/visitors/open-api-3-0/request-body/index.mjs +9 -10
  282. package/src/refractor/visitors/open-api-3-0/response/HeadersVisitor.cjs +7 -9
  283. package/src/refractor/visitors/open-api-3-0/response/HeadersVisitor.mjs +7 -9
  284. package/src/refractor/visitors/open-api-3-0/response/LinksVisitor.cjs +5 -8
  285. package/src/refractor/visitors/open-api-3-0/response/LinksVisitor.mjs +5 -8
  286. package/src/refractor/visitors/open-api-3-0/response/index.cjs +10 -12
  287. package/src/refractor/visitors/open-api-3-0/response/index.mjs +10 -12
  288. package/src/refractor/visitors/open-api-3-0/responses/DefaultVisitor.cjs +6 -8
  289. package/src/refractor/visitors/open-api-3-0/responses/DefaultVisitor.mjs +6 -8
  290. package/src/refractor/visitors/open-api-3-0/responses/index.cjs +8 -10
  291. package/src/refractor/visitors/open-api-3-0/responses/index.mjs +8 -10
  292. package/src/refractor/visitors/open-api-3-0/schema/AllOfVisitor.cjs +3 -4
  293. package/src/refractor/visitors/open-api-3-0/schema/AllOfVisitor.mjs +3 -4
  294. package/src/refractor/visitors/open-api-3-0/schema/AnyOfVisitor.cjs +3 -4
  295. package/src/refractor/visitors/open-api-3-0/schema/AnyOfVisitor.mjs +3 -4
  296. package/src/refractor/visitors/open-api-3-0/schema/ItemsVisitor.cjs +8 -14
  297. package/src/refractor/visitors/open-api-3-0/schema/ItemsVisitor.mjs +7 -12
  298. package/src/refractor/visitors/open-api-3-0/schema/OneOfVisitor.cjs +3 -4
  299. package/src/refractor/visitors/open-api-3-0/schema/OneOfVisitor.mjs +3 -4
  300. package/src/refractor/visitors/open-api-3-0/schema/PropertiesVisitor.cjs +3 -4
  301. package/src/refractor/visitors/open-api-3-0/schema/PropertiesVisitor.mjs +3 -4
  302. package/src/refractor/visitors/open-api-3-0/schema/SchemaOrReferenceVisitor.cjs +3 -5
  303. package/src/refractor/visitors/open-api-3-0/schema/SchemaOrReferenceVisitor.mjs +3 -5
  304. package/src/refractor/visitors/open-api-3-0/schema/TypeVisitor.cjs +2 -3
  305. package/src/refractor/visitors/open-api-3-0/schema/TypeVisitor.mjs +2 -3
  306. package/src/refractor/visitors/open-api-3-0/schema/index.cjs +2 -4
  307. package/src/refractor/visitors/open-api-3-0/schema/index.mjs +2 -4
  308. package/src/refractor/visitors/open-api-3-0/security-requirement/index.cjs +2 -8
  309. package/src/refractor/visitors/open-api-3-0/security-requirement/index.mjs +2 -7
  310. package/src/refractor/visitors/open-api-3-0/security-scheme/index.cjs +2 -8
  311. package/src/refractor/visitors/open-api-3-0/security-scheme/index.mjs +2 -7
  312. package/src/refractor/visitors/open-api-3-0/server/UrlVisitor.cjs +2 -3
  313. package/src/refractor/visitors/open-api-3-0/server/UrlVisitor.mjs +2 -3
  314. package/src/refractor/visitors/open-api-3-0/server/VariablesVisitor.cjs +2 -8
  315. package/src/refractor/visitors/open-api-3-0/server/VariablesVisitor.mjs +2 -7
  316. package/src/refractor/visitors/open-api-3-0/server/index.cjs +2 -8
  317. package/src/refractor/visitors/open-api-3-0/server/index.mjs +2 -7
  318. package/src/refractor/visitors/open-api-3-0/server-variable/index.cjs +2 -8
  319. package/src/refractor/visitors/open-api-3-0/server-variable/index.mjs +2 -7
  320. package/src/refractor/visitors/open-api-3-0/tag/index.cjs +2 -8
  321. package/src/refractor/visitors/open-api-3-0/tag/index.mjs +2 -7
  322. package/src/refractor/visitors/open-api-3-0/xml/index.cjs +2 -8
  323. package/src/refractor/visitors/open-api-3-0/xml/index.mjs +2 -7
  324. package/types/apidom-ns-openapi-3-0.d.ts +679 -926
  325. package/src/refractor/registration.cjs +0 -99
  326. package/src/refractor/registration.mjs +0 -64
  327. package/src/traversal/visitor.cjs +0 -57
  328. package/src/traversal/visitor.mjs +0 -54
@@ -1,37 +1,24 @@
1
1
  import { AllOfVisitor } from '@speclynx/apidom-ns-json-schema-draft-4';
2
2
  import { AnyOfVisitor } from '@speclynx/apidom-ns-json-schema-draft-4';
3
- import { ArrayElement } from '@speclynx/apidom-core';
4
- import { Attributes } from '@speclynx/apidom-core';
5
- import { BooleanElement } from '@speclynx/apidom-core';
3
+ import { ArrayElement } from '@speclynx/apidom-datamodel';
4
+ import { Attributes } from '@speclynx/apidom-datamodel';
5
+ import { BooleanElement } from '@speclynx/apidom-datamodel';
6
6
  import { Class } from 'ts-mixer/dist/types/types.js';
7
- import { Element as Element_2 } from '@speclynx/apidom-core';
8
- import { ElementPredicate } from '@speclynx/apidom-core';
7
+ import { Element as Element_2 } from '@speclynx/apidom-datamodel';
9
8
  import { EnumVisitor } from '@speclynx/apidom-ns-json-schema-draft-4';
10
- import { hasElementSourceMap } from '@speclynx/apidom-core';
11
- import { includesClasses } from '@speclynx/apidom-core';
12
- import { isArrayElement } from '@speclynx/apidom-core';
13
- import { isBooleanElement } from '@speclynx/apidom-core';
14
- import { isElement } from '@speclynx/apidom-core';
15
- import { isLinkElement as isLinkPrimitiveElement } from '@speclynx/apidom-core';
16
- import { isMemberElement } from '@speclynx/apidom-core';
17
- import { isNullElement } from '@speclynx/apidom-core';
18
- import { isNumberElement } from '@speclynx/apidom-core';
19
- import { isObjectElement } from '@speclynx/apidom-core';
20
- import { isRefElement } from '@speclynx/apidom-core';
21
- import { isStringElement } from '@speclynx/apidom-core';
22
- import { ItemsVisitor } from '@speclynx/apidom-ns-json-schema-draft-4';
23
9
  import { JSONReferenceElement } from '@speclynx/apidom-ns-json-schema-draft-4';
24
10
  import { JSONSchemaElement } from '@speclynx/apidom-ns-json-schema-draft-4';
11
+ import { ItemsVisitor as JSONSchemaItemsVisitor } from '@speclynx/apidom-ns-json-schema-draft-4';
12
+ import { LinkDescriptionElement } from '@speclynx/apidom-ns-json-schema-draft-4';
25
13
  import { MediaElement } from '@speclynx/apidom-ns-json-schema-draft-4';
26
14
  import { MediaTypes } from '@speclynx/apidom-core';
27
- import { MemberElement } from '@speclynx/apidom-core';
28
- import { Meta } from '@speclynx/apidom-core';
29
- import { Namespace } from 'minim';
30
- import { Namespace as Namespace_2 } from '@speclynx/apidom-core';
31
- import { NamespacePluginOptions } from '@speclynx/apidom-core';
32
- import { ObjectElement } from '@speclynx/apidom-core';
33
- import { ObjectElement as ObjectElement_2 } from 'minim';
15
+ import { MemberElement } from '@speclynx/apidom-datamodel';
16
+ import { Meta } from '@speclynx/apidom-datamodel';
17
+ import { Namespace } from '@speclynx/apidom-datamodel';
18
+ import { NamespacePlugin } from '@speclynx/apidom-datamodel';
19
+ import { ObjectElement } from '@speclynx/apidom-datamodel';
34
20
  import { OneOfVisitor } from '@speclynx/apidom-ns-json-schema-draft-4';
21
+ import { Path } from '@speclynx/apidom-traverse';
35
22
  import { PropertiesVisitor } from '@speclynx/apidom-ns-json-schema-draft-4';
36
23
  import { RequiredVisitor } from '@speclynx/apidom-ns-json-schema-draft-4';
37
24
  import { AllOfVisitorOptions as SchemaAllOfVisitorOptions } from '@speclynx/apidom-ns-json-schema-draft-4';
@@ -42,7 +29,7 @@ import { SchemaOrReferenceVisitor as SchemaOrReferenceVisitor_2 } from '@speclyn
42
29
  import { SchemaOrReferenceVisitorOptions } from '@speclynx/apidom-ns-json-schema-draft-4';
43
30
  import { PropertiesVisitorOptions as SchemaPropertiesVisitorOptions } from '@speclynx/apidom-ns-json-schema-draft-4';
44
31
  import { TypeVisitorOptions as SchemaTypeVisitorOptions } from '@speclynx/apidom-ns-json-schema-draft-4';
45
- import { StringElement } from '@speclynx/apidom-core';
32
+ import { StringElement } from '@speclynx/apidom-datamodel';
46
33
  import { TypeVisitor } from '@speclynx/apidom-ns-json-schema-draft-4';
47
34
 
48
35
  /**
@@ -51,7 +38,7 @@ import { TypeVisitor } from '@speclynx/apidom-ns-json-schema-draft-4';
51
38
  export declare class AlternatingVisitor extends SpecificationVisitor {
52
39
  protected alternator: Alternator[];
53
40
  constructor({ alternator, ...rest }: AlternatingVisitorOptions);
54
- enter(element: Element_2): {};
41
+ enter(path: Path<Element_2>): void;
55
42
  }
56
43
 
57
44
  /**
@@ -70,33 +57,170 @@ export declare type Alternator = {
70
57
  };
71
58
 
72
59
  /**
60
+ * Base class for visitors using Mixin(AlternatingVisitor, FallbackVisitor)
73
61
  * @public
74
62
  */
75
- export declare class CallbackElement extends ObjectElement {
76
- constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
63
+ export declare const BaseAlternatingVisitor: Class<any[], AlternatingVisitor & FallbackVisitor, typeof AlternatingVisitor & typeof FallbackVisitor>;
64
+
65
+ /**
66
+ * @public
67
+ */
68
+ declare interface BaseAlternatingVisitorOptions extends AlternatingVisitorOptions, VisitorOptions {
77
69
  }
70
+ export { BaseAlternatingVisitorOptions }
71
+ export { BaseAlternatingVisitorOptions as HeaderSchemaVisitorOptions }
72
+ export { BaseAlternatingVisitorOptions as MediaTypeSchemaVisitorOptions }
73
+ export { BaseAlternatingVisitorOptions as ParameterSchemaVisitorOptions }
74
+ export { BaseAlternatingVisitorOptions as ResponsesDefaultVisitorOptions }
75
+
76
+ /**
77
+ * Base class for visitors using Mixin(FixedFieldsVisitor, FallbackVisitor)
78
+ * @public
79
+ */
80
+ export declare const BaseFixedFieldsVisitor: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
78
81
 
79
- declare const CallbacksVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
82
+ /**
83
+ * @public
84
+ */
85
+ declare interface BaseFixedFieldsVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
86
+ }
87
+ export { BaseFixedFieldsVisitorOptions }
88
+ export { BaseFixedFieldsVisitorOptions as ComponentsVisitorOptions }
89
+ export { BaseFixedFieldsVisitorOptions as ContactVisitorOptions }
90
+ export { BaseFixedFieldsVisitorOptions as DiscriminatorVisitorOptions }
91
+ export { BaseFixedFieldsVisitorOptions as EncodingVisitorOptions }
92
+ export { BaseFixedFieldsVisitorOptions as ExampleVisitorOptions }
93
+ export { BaseFixedFieldsVisitorOptions as ExternalDocumentationVisitorOptions }
94
+ export { BaseFixedFieldsVisitorOptions as HeaderVisitorOptions }
95
+ export { BaseFixedFieldsVisitorOptions as InfoVisitorOptions }
96
+ export { BaseFixedFieldsVisitorOptions as LicenseVisitorOptions }
97
+ export { BaseFixedFieldsVisitorOptions as LinkVisitorOptions }
98
+ export { BaseFixedFieldsVisitorOptions as MediaTypeVisitorOptions }
99
+ export { BaseFixedFieldsVisitorOptions as OAuthFlowVisitorOptions }
100
+ export { BaseFixedFieldsVisitorOptions as OAuthFlowsVisitorOptions }
101
+ export { BaseFixedFieldsVisitorOptions as OpenApi3_0VisitorOptions }
102
+ export { BaseFixedFieldsVisitorOptions as OperationVisitorOptions }
103
+ export { BaseFixedFieldsVisitorOptions as ParameterVisitorOptions }
104
+ export { BaseFixedFieldsVisitorOptions as PathItemVisitorOptions }
105
+ export { BaseFixedFieldsVisitorOptions as ReferenceVisitorOptions }
106
+ export { BaseFixedFieldsVisitorOptions as RequestBodyVisitorOptions }
107
+ export { BaseFixedFieldsVisitorOptions as ResponseVisitorOptions }
108
+ export { BaseFixedFieldsVisitorOptions as SchemaVisitorOptions }
109
+ export { BaseFixedFieldsVisitorOptions as SecuritySchemeVisitorOptions }
110
+ export { BaseFixedFieldsVisitorOptions as ServerVariableVisitorOptions }
111
+ export { BaseFixedFieldsVisitorOptions as ServerVisitorOptions }
112
+ export { BaseFixedFieldsVisitorOptions as TagVisitorOptions }
113
+ export { BaseFixedFieldsVisitorOptions as XmlVisitorOptions }
80
114
 
81
- declare const CallbacksVisitor_base_2: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
115
+ /**
116
+ * Base class for visitors using Mixin(MapVisitor, FallbackVisitor)
117
+ * @public
118
+ */
119
+ export declare const BaseMapVisitor: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
82
120
 
83
121
  /**
84
122
  * @public
85
123
  */
86
- export declare class CallbackVisitor extends CallbackVisitor_base {
87
- readonly element: CallbackElement;
88
- protected readonly specPath: SpecPath;
89
- protected readonly canSupportSpecificationExtensions: true;
90
- constructor(options: CallbackVisitorOptions);
91
- ObjectElement(objectElement: ObjectElement): {};
124
+ declare interface BaseMapVisitorOptions extends MapVisitorOptions, VisitorOptions {
92
125
  }
126
+ export { BaseMapVisitorOptions }
127
+ export { BaseMapVisitorOptions as ComponentsCallbacksVisitorOptions }
128
+ export { BaseMapVisitorOptions as ComponentsExamplesVisitorOptions }
129
+ export { BaseMapVisitorOptions as ComponentsHeadersVisitorOptions }
130
+ export { BaseMapVisitorOptions as ComponentsLinksVisitorOptions }
131
+ export { BaseMapVisitorOptions as ComponentsParametersVisitorOptions }
132
+ export { BaseMapVisitorOptions as ComponentsRequestBodiesVisitorOptions }
133
+ export { BaseMapVisitorOptions as ComponentsResponsesVisitorOptions }
134
+ export { BaseMapVisitorOptions as ComponentsSchemasVisitorOptions }
135
+ export { BaseMapVisitorOptions as ComponentsSecuritySchemesVisitorOptions }
136
+ export { BaseMapVisitorOptions as ContentVisitorOptions }
137
+ export { BaseMapVisitorOptions as DiscriminatorMappingVisitorOptions }
138
+ export { BaseMapVisitorOptions as EncodingHeadersVisitorOptions }
139
+ export { BaseMapVisitorOptions as ExamplesVisitorOptions }
140
+ export { BaseMapVisitorOptions as HeaderContentVisitorOptions }
141
+ export { BaseMapVisitorOptions as HeaderExamplesVisitorOptions }
142
+ export { BaseMapVisitorOptions as LinkParametersVisitorOptions }
143
+ export { BaseMapVisitorOptions as MediaTypeEncodingVisitorOptions }
144
+ export { BaseMapVisitorOptions as MediaTypeExamplesVisitorOptions }
145
+ export { BaseMapVisitorOptions as OAuthFlowScopesVisitorOptions }
146
+ export { BaseMapVisitorOptions as OperationCallbacksVisitorOptions }
147
+ export { BaseMapVisitorOptions as ParameterContentVisitorOptions }
148
+ export { BaseMapVisitorOptions as ParameterExamplesVisitorOptions }
149
+ export { BaseMapVisitorOptions as RequestBodyContentVisitorOptions }
150
+ export { BaseMapVisitorOptions as ResponseContentVisitorOptions }
151
+ export { BaseMapVisitorOptions as ResponseHeadersVisitorOptions }
152
+ export { BaseMapVisitorOptions as ResponseLinksVisitorOptions }
153
+ export { BaseMapVisitorOptions as SecurityRequirementVisitorOptions }
154
+ export { BaseMapVisitorOptions as ServerVariableVariablesVisitorOptions }
93
155
 
94
- declare const CallbackVisitor_base: Class<any[], PatternedFieldsVisitor & FallbackVisitor, typeof PatternedFieldsVisitor & typeof FallbackVisitor>;
156
+ /**
157
+ * Base class for visitors using Mixin(MixedFieldsVisitor, FallbackVisitor)
158
+ * @public
159
+ */
160
+ export declare const BaseMixedFieldsVisitor: Class<any[], MixedFieldsVisitor & FallbackVisitor, typeof MixedFieldsVisitor & typeof FallbackVisitor>;
161
+
162
+ /**
163
+ * @public
164
+ */
165
+ declare interface BaseMixedFieldsVisitorOptions extends MixedFieldsVisitorOptions, VisitorOptions {
166
+ }
167
+ export { BaseMixedFieldsVisitorOptions }
168
+ export { BaseMixedFieldsVisitorOptions as ResponsesVisitorOptions }
169
+
170
+ /**
171
+ * Base class for visitors using Mixin(PatternedFieldsVisitor, FallbackVisitor)
172
+ * @public
173
+ */
174
+ export declare const BasePatternedFieldsVisitor: Class<any[], PatternedFieldsVisitor & FallbackVisitor, typeof PatternedFieldsVisitor & typeof FallbackVisitor>;
95
175
 
96
176
  /**
97
177
  * @public
98
178
  */
99
- export declare interface CallbackVisitorOptions extends PatternedFieldsVisitorOptions, VisitorOptions {
179
+ declare interface BasePatternedFieldsVisitorOptions extends PatternedFieldsVisitorOptions, VisitorOptions {
180
+ }
181
+ export { BasePatternedFieldsVisitorOptions }
182
+ export { BasePatternedFieldsVisitorOptions as CallbackVisitorOptions }
183
+ export { BasePatternedFieldsVisitorOptions as PathsVisitorOptions }
184
+
185
+ /**
186
+ * Base class for visitors using Mixin(SpecificationVisitor, FallbackVisitor)
187
+ * @public
188
+ */
189
+ export declare const BaseSpecificationVisitor: Class<any[], SpecificationVisitor & FallbackVisitor, typeof SpecificationVisitor & typeof FallbackVisitor>;
190
+
191
+ /**
192
+ * @public
193
+ */
194
+ declare interface BaseSpecificationVisitorOptions extends SpecificationVisitorOptions, VisitorOptions {
195
+ }
196
+ export { BaseSpecificationVisitorOptions }
197
+ export { BaseSpecificationVisitorOptions as OpenapiVisitorOptions }
198
+ export { BaseSpecificationVisitorOptions as OperationParametersVisitorOptions }
199
+ export { BaseSpecificationVisitorOptions as OperationSecurityVisitorOptions }
200
+ export { BaseSpecificationVisitorOptions as OperationServersVisitorOptions }
201
+ export { BaseSpecificationVisitorOptions as ParametersVisitorOptions }
202
+ export { BaseSpecificationVisitorOptions as PathItemParametersVisitorOptions }
203
+ export { BaseSpecificationVisitorOptions as PathItemServersVisitorOptions }
204
+ export { BaseSpecificationVisitorOptions as SecurityVisitorOptions }
205
+ export { BaseSpecificationVisitorOptions as ServersVisitorOptions }
206
+ export { BaseSpecificationVisitorOptions as TagsVisitorOptions }
207
+
208
+ /**
209
+ * @public
210
+ */
211
+ export declare class CallbackElement extends ObjectElement {
212
+ constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
213
+ }
214
+
215
+ /**
216
+ * @public
217
+ */
218
+ export declare class CallbackVisitor extends BasePatternedFieldsVisitor {
219
+ readonly element: CallbackElement;
220
+ protected readonly specPath: SpecPath;
221
+ protected readonly canSupportSpecificationExtensions: true;
222
+ constructor(options: BasePatternedFieldsVisitorOptions);
223
+ ObjectElement(path: Path<ObjectElement>): void;
100
224
  }
101
225
 
102
226
  /**
@@ -110,21 +234,15 @@ export declare class ComponentsCallbacksElement extends ObjectElement {
110
234
  /**
111
235
  * @public
112
236
  */
113
- export declare class ComponentsCallbacksVisitor extends CallbacksVisitor_base {
237
+ export declare class ComponentsCallbacksVisitor extends BaseMapVisitor {
114
238
  readonly element: ComponentsCallbacksElement;
115
239
  protected readonly specPath: SpecPath<[
116
240
  'document',
117
241
  'objects',
118
242
  'Reference'
119
243
  ] | ['document', 'objects', 'Callback']>;
120
- constructor(options: ComponentsCallbacksVisitorOptions);
121
- ObjectElement(objectElement: ObjectElement): {};
122
- }
123
-
124
- /**
125
- * @public
126
- */
127
- export declare interface ComponentsCallbacksVisitorOptions extends MapVisitorOptions, VisitorOptions {
244
+ constructor(options: BaseMapVisitorOptions);
245
+ ObjectElement(path: Path<ObjectElement>): void;
128
246
  }
129
247
 
130
248
  /**
@@ -146,8 +264,8 @@ export declare class ComponentsElement extends ObjectElement {
146
264
  set headers(headers: ObjectElement | undefined);
147
265
  get securitySchemes(): ObjectElement | undefined;
148
266
  set securitySchemes(securitySchemes: ObjectElement | undefined);
149
- get links(): ObjectElement | undefined;
150
- set links(links: ObjectElement | undefined);
267
+ get linksField(): ObjectElement | undefined;
268
+ set linksField(links: ObjectElement | undefined);
151
269
  get callbacks(): ObjectElement | undefined;
152
270
  set callbacks(callbacks: ObjectElement | undefined);
153
271
  }
@@ -163,21 +281,15 @@ export declare class ComponentsExamplesElement extends ObjectElement {
163
281
  /**
164
282
  * @public
165
283
  */
166
- export declare class ComponentsExamplesVisitor extends ExamplesVisitor_base {
284
+ export declare class ComponentsExamplesVisitor extends BaseMapVisitor {
167
285
  readonly element: ComponentsExamplesElement;
168
286
  protected readonly specPath: SpecPath<[
169
287
  'document',
170
288
  'objects',
171
289
  'Reference'
172
290
  ] | ['document', 'objects', 'Example']>;
173
- constructor(options: ComponentsExamplesVisitorOptions);
174
- ObjectElement(objectElement: ObjectElement): {};
175
- }
176
-
177
- /**
178
- * @public
179
- */
180
- export declare interface ComponentsExamplesVisitorOptions extends MapVisitorOptions, VisitorOptions {
291
+ constructor(options: BaseMapVisitorOptions);
292
+ ObjectElement(path: Path<ObjectElement>): void;
181
293
  }
182
294
 
183
295
  /**
@@ -191,21 +303,15 @@ export declare class ComponentsHeadersElement extends ObjectElement {
191
303
  /**
192
304
  * @public
193
305
  */
194
- export declare class ComponentsHeadersVisitor extends HeadersVisitor_base {
306
+ export declare class ComponentsHeadersVisitor extends BaseMapVisitor {
195
307
  readonly element: ComponentsHeadersElement;
196
308
  protected readonly specPath: SpecPath<[
197
309
  'document',
198
310
  'objects',
199
311
  'Reference'
200
312
  ] | ['document', 'objects', 'Header']>;
201
- constructor(options: ComponentsHeadersVisitorOptions);
202
- ObjectElement(objectElement: ObjectElement): {};
203
- }
204
-
205
- /**
206
- * @public
207
- */
208
- export declare interface ComponentsHeadersVisitorOptions extends MapVisitorOptions, VisitorOptions {
313
+ constructor(options: BaseMapVisitorOptions);
314
+ ObjectElement(path: Path<ObjectElement>): void;
209
315
  }
210
316
 
211
317
  /**
@@ -219,21 +325,15 @@ export declare class ComponentsLinksElement extends ObjectElement {
219
325
  /**
220
326
  * @public
221
327
  */
222
- export declare class ComponentsLinksVisitor extends LinksVisitor_base {
328
+ export declare class ComponentsLinksVisitor extends BaseMapVisitor {
223
329
  readonly element: ComponentsLinksElement;
224
330
  protected readonly specPath: SpecPath<[
225
331
  'document',
226
332
  'objects',
227
333
  'Reference'
228
334
  ] | ['document', 'objects', 'Link']>;
229
- constructor(options: ComponentsLinksVisitorOptions);
230
- ObjectElement(objectElement: ObjectElement): {};
231
- }
232
-
233
- /**
234
- * @public
235
- */
236
- export declare interface ComponentsLinksVisitorOptions extends MapVisitorOptions, VisitorOptions {
335
+ constructor(options: BaseMapVisitorOptions);
336
+ ObjectElement(path: Path<ObjectElement>): void;
237
337
  }
238
338
 
239
339
  /**
@@ -247,21 +347,15 @@ export declare class ComponentsParametersElement extends ObjectElement {
247
347
  /**
248
348
  * @public
249
349
  */
250
- export declare class ComponentsParametersVisitor extends ParametersVisitor_base {
350
+ export declare class ComponentsParametersVisitor extends BaseMapVisitor {
251
351
  readonly element: ComponentsParametersElement;
252
352
  protected readonly specPath: SpecPath<[
253
353
  'document',
254
354
  'objects',
255
355
  'Reference'
256
356
  ] | ['document', 'objects', 'Parameter']>;
257
- constructor(options: ComponentsParametersVisitorOptions);
258
- ObjectElement(objectElement: ObjectElement): {};
259
- }
260
-
261
- /**
262
- * @public
263
- */
264
- export declare interface ComponentsParametersVisitorOptions extends MapVisitorOptions, VisitorOptions {
357
+ constructor(options: BaseMapVisitorOptions);
358
+ ObjectElement(path: Path<ObjectElement>): void;
265
359
  }
266
360
 
267
361
  /**
@@ -275,21 +369,15 @@ export declare class ComponentsRequestBodiesElement extends ObjectElement {
275
369
  /**
276
370
  * @public
277
371
  */
278
- export declare class ComponentsRequestBodiesVisitor extends RequestBodiesVisitor_base {
372
+ export declare class ComponentsRequestBodiesVisitor extends BaseMapVisitor {
279
373
  readonly element: ComponentsRequestBodiesElement;
280
374
  protected readonly specPath: SpecPath<[
281
375
  'document',
282
376
  'objects',
283
377
  'Reference'
284
378
  ] | ['document', 'objects', 'RequestBody']>;
285
- constructor(options: ComponentsRequestBodiesVisitorOptions);
286
- ObjectElement(objectElement: ObjectElement): {};
287
- }
288
-
289
- /**
290
- * @public
291
- */
292
- export declare interface ComponentsRequestBodiesVisitorOptions extends MapVisitorOptions, VisitorOptions {
379
+ constructor(options: BaseMapVisitorOptions);
380
+ ObjectElement(path: Path<ObjectElement>): void;
293
381
  }
294
382
 
295
383
  /**
@@ -303,21 +391,15 @@ export declare class ComponentsResponsesElement extends ObjectElement {
303
391
  /**
304
392
  * @public
305
393
  */
306
- export declare class ComponentsResponsesVisitor extends ResponsesVisitor_base {
394
+ export declare class ComponentsResponsesVisitor extends BaseMapVisitor {
307
395
  readonly element: ComponentsResponsesElement;
308
396
  protected readonly specPath: SpecPath<[
309
397
  'document',
310
398
  'objects',
311
399
  'Reference'
312
400
  ] | ['document', 'objects', 'Response']>;
313
- constructor(options: ComponentsResponsesVisitorOptions);
314
- ObjectElement(objectElement: ObjectElement): {};
315
- }
316
-
317
- /**
318
- * @public
319
- */
320
- export declare interface ComponentsResponsesVisitorOptions extends MapVisitorOptions, VisitorOptions {
401
+ constructor(options: BaseMapVisitorOptions);
402
+ ObjectElement(path: Path<ObjectElement>): void;
321
403
  }
322
404
 
323
405
  /**
@@ -331,21 +413,15 @@ export declare class ComponentsSchemasElement extends ObjectElement {
331
413
  /**
332
414
  * @public
333
415
  */
334
- export declare class ComponentsSchemasVisitor extends SchemasVisitor_base {
416
+ export declare class ComponentsSchemasVisitor extends BaseMapVisitor {
335
417
  readonly element: ComponentsSchemasElement;
336
418
  protected readonly specPath: SpecPath<[
337
419
  'document',
338
420
  'objects',
339
421
  'Reference'
340
422
  ] | ['document', 'objects', 'Schema']>;
341
- constructor(options: ComponentsSchemasVisitorOptions);
342
- ObjectElement(objectElement: ObjectElement): {};
343
- }
344
-
345
- /**
346
- * @public
347
- */
348
- export declare interface ComponentsSchemasVisitorOptions extends MapVisitorOptions, VisitorOptions {
423
+ constructor(options: BaseMapVisitorOptions);
424
+ ObjectElement(path: Path<ObjectElement>): void;
349
425
  }
350
426
 
351
427
  /**
@@ -359,39 +435,25 @@ export declare class ComponentsSecuritySchemesElement extends ObjectElement {
359
435
  /**
360
436
  * @public
361
437
  */
362
- export declare class ComponentsSecuritySchemesVisitor extends SecuritySchemesVisitor_base {
438
+ export declare class ComponentsSecuritySchemesVisitor extends BaseMapVisitor {
363
439
  readonly element: ComponentsSecuritySchemesElement;
364
440
  protected readonly specPath: SpecPath<[
365
441
  'document',
366
442
  'objects',
367
443
  'Reference'
368
444
  ] | ['document', 'objects', 'SecurityScheme']>;
369
- constructor(options: ComponentsSecuritySchemesVisitorOptions);
370
- ObjectElement(objectElement: ObjectElement): {};
445
+ constructor(options: BaseMapVisitorOptions);
446
+ ObjectElement(path: Path<ObjectElement>): void;
371
447
  }
372
448
 
373
449
  /**
374
450
  * @public
375
451
  */
376
- export declare interface ComponentsSecuritySchemesVisitorOptions extends MapVisitorOptions, VisitorOptions {
377
- }
378
-
379
- /**
380
- * @public
381
- */
382
- export declare class ComponentsVisitor extends ComponentsVisitor_base {
452
+ export declare class ComponentsVisitor extends BaseFixedFieldsVisitor {
383
453
  readonly element: ComponentsElement;
384
454
  protected readonly specPath: SpecPath<['document', 'objects', 'Components']>;
385
455
  protected readonly canSupportSpecificationExtensions: true;
386
- constructor(options: ComponentsVisitorOptions);
387
- }
388
-
389
- declare const ComponentsVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
390
-
391
- /**
392
- * @public
393
- */
394
- export declare interface ComponentsVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
456
+ constructor(options: BaseFixedFieldsVisitorOptions);
395
457
  }
396
458
 
397
459
  /**
@@ -410,57 +472,21 @@ export declare class ContactElement extends ObjectElement {
410
472
  /**
411
473
  * @public
412
474
  */
413
- export declare class ContactVisitor extends ContactVisitor_base {
475
+ export declare class ContactVisitor extends BaseFixedFieldsVisitor {
414
476
  readonly element: ContactElement;
415
477
  protected readonly specPath: SpecPath<['document', 'objects', 'Contact']>;
416
478
  protected readonly canSupportSpecificationExtensions: true;
417
- constructor(options: ContactVisitorOptions);
479
+ constructor(options: BaseFixedFieldsVisitorOptions);
418
480
  }
419
481
 
420
- declare const ContactVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
421
-
422
482
  /**
423
483
  * @public
424
484
  */
425
- export declare interface ContactVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
426
- }
427
-
428
- /**
429
- * @public
430
- */
431
- export declare class ContentVisitor extends ContentVisitor_base {
485
+ export declare class ContentVisitor extends BaseMapVisitor {
432
486
  readonly element: ObjectElement;
433
487
  protected readonly specPath: SpecPath<['document', 'objects', 'MediaType']>;
434
- constructor(options: ContentVisitorOptions);
435
- }
436
-
437
- declare const ContentVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
438
-
439
- /**
440
- * @public
441
- */
442
- declare interface ContentVisitorOptions extends MapVisitorOptions, VisitorOptions {
488
+ constructor(options: BaseMapVisitorOptions);
443
489
  }
444
- export { ContentVisitorOptions }
445
- export { ContentVisitorOptions as HeaderContentVisitorOptions }
446
- export { ContentVisitorOptions as ParameterContentVisitorOptions }
447
- export { ContentVisitorOptions as RequestBodyContentVisitorOptions }
448
- export { ContentVisitorOptions as ResponseContentVisitorOptions }
449
-
450
- /**
451
- * @public
452
- */
453
- export declare const createRefractor: (specPath: string[]) => (value: unknown, options?: {}) => Element_2;
454
-
455
- /**
456
- * @public
457
- */
458
- export declare const createToolbox: () => {
459
- predicates: ToolboxPredicates;
460
- namespace: Namespace_2;
461
- };
462
-
463
- declare const DefaultVisitor_base: Class<any[], AlternatingVisitor & FallbackVisitor, typeof AlternatingVisitor & typeof FallbackVisitor>;
464
490
 
465
491
  /**
466
492
  * @public
@@ -484,34 +510,20 @@ export declare class DiscriminatorMappingElement extends ObjectElement {
484
510
  /**
485
511
  * @public
486
512
  */
487
- export declare class DiscriminatorMappingVisitor extends MappingVisitor_base {
513
+ export declare class DiscriminatorMappingVisitor extends BaseMapVisitor {
488
514
  readonly element: DiscriminatorMappingElement;
489
515
  protected readonly specPath: SpecPath<['value']>;
490
- constructor(options: DiscriminatorMappingVisitorOptions);
491
- }
492
-
493
- /**
494
- * @public
495
- */
496
- export declare interface DiscriminatorMappingVisitorOptions extends MapVisitorOptions, VisitorOptions {
516
+ constructor(options: BaseMapVisitorOptions);
497
517
  }
498
518
 
499
519
  /**
500
520
  * @public
501
521
  */
502
- export declare class DiscriminatorVisitor extends DiscriminatorVisitor_base {
522
+ export declare class DiscriminatorVisitor extends BaseFixedFieldsVisitor {
503
523
  readonly element: DiscriminatorElement;
504
524
  protected readonly specPath: SpecPath<['document', 'objects', 'Discriminator']>;
505
525
  protected canSupportSpecificationExtensions: boolean;
506
- constructor(options: DiscriminatorVisitorOptions);
507
- }
508
-
509
- declare const DiscriminatorVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
510
-
511
- /**
512
- * @public
513
- */
514
- export declare interface DiscriminatorVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
526
+ constructor(options: BaseFixedFieldsVisitorOptions);
515
527
  }
516
528
 
517
529
  /**
@@ -542,42 +554,26 @@ export declare class EncodingHeadersElement extends ObjectElement {
542
554
  /**
543
555
  * @public
544
556
  */
545
- export declare class EncodingHeadersVisitor extends HeadersVisitor_base_2 {
557
+ export declare class EncodingHeadersVisitor extends BaseMapVisitor {
546
558
  readonly element: EncodingHeadersElement;
547
559
  protected readonly specPath: SpecPath<[
548
560
  'document',
549
561
  'objects',
550
562
  'Reference'
551
563
  ] | ['document', 'objects', 'Header']>;
552
- constructor(options: EncodingHeadersVisitorOptions);
553
- ObjectElement(objectElement: ObjectElement): {};
554
- }
555
-
556
- /**
557
- * @public
558
- */
559
- export declare interface EncodingHeadersVisitorOptions extends MapVisitorOptions, VisitorOptions {
564
+ constructor(options: BaseMapVisitorOptions);
565
+ ObjectElement(path: Path<ObjectElement>): void;
560
566
  }
561
567
 
562
568
  /**
563
569
  * @public
564
570
  */
565
- export declare class EncodingVisitor extends EncodingVisitor_base_2 {
571
+ export declare class EncodingVisitor extends BaseFixedFieldsVisitor {
566
572
  readonly element: EncodingElement;
567
573
  protected readonly specPath: SpecPath<['document', 'objects', 'Encoding']>;
568
574
  protected readonly canSupportSpecificationExtensions: true;
569
- constructor(options: EncodingVisitorOptions);
570
- ObjectElement(objectElement: ObjectElement): {};
571
- }
572
-
573
- declare const EncodingVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
574
-
575
- declare const EncodingVisitor_base_2: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
576
-
577
- /**
578
- * @public
579
- */
580
- export declare interface EncodingVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
575
+ constructor(options: BaseFixedFieldsVisitorOptions);
576
+ ObjectElement(path: Path<ObjectElement>): void;
581
577
  }
582
578
 
583
579
  /**
@@ -600,13 +596,13 @@ export declare class ExampleElement extends ObjectElement {
600
596
  */
601
597
  export declare class ExampleExternalValueVisitor extends FallbackVisitor {
602
598
  readonly element: StringElement;
603
- StringElement(stringElement: StringElement): {};
599
+ StringElement(path: Path<StringElement>): void;
604
600
  }
605
601
 
606
602
  /**
607
603
  * @public
608
604
  */
609
- export declare class ExamplesVisitor extends ExamplesVisitor_base_2 {
605
+ export declare class ExamplesVisitor extends BaseMapVisitor {
610
606
  readonly element: ObjectElement;
611
607
  protected readonly specPath: SpecPath<[
612
608
  'document',
@@ -614,41 +610,19 @@ export declare class ExamplesVisitor extends ExamplesVisitor_base_2 {
614
610
  'Reference'
615
611
  ] | ['document', 'objects', 'Example']>;
616
612
  protected readonly canSupportSpecificationExtensions: true;
617
- constructor(options: ExamplesVisitorOptions);
618
- ObjectElement(objectElement: ObjectElement): {};
613
+ constructor(options: BaseMapVisitorOptions);
614
+ ObjectElement(path: Path<ObjectElement>): void;
619
615
  }
620
616
 
621
- declare const ExamplesVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
622
-
623
- declare const ExamplesVisitor_base_2: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
624
-
625
617
  /**
626
618
  * @public
627
619
  */
628
- declare interface ExamplesVisitorOptions extends MapVisitorOptions, VisitorOptions {
629
- }
630
- export { ExamplesVisitorOptions }
631
- export { ExamplesVisitorOptions as HeaderExamplesVisitorOptions }
632
- export { ExamplesVisitorOptions as MediaTypeExamplesVisitorOptions }
633
- export { ExamplesVisitorOptions as ParameterExamplesVisitorOptions }
634
-
635
- /**
636
- * @public
637
- */
638
- export declare class ExampleVisitor extends ExampleVisitor_base {
620
+ export declare class ExampleVisitor extends BaseFixedFieldsVisitor {
639
621
  readonly element: ExampleElement;
640
622
  protected readonly specPath: SpecPath<['document', 'objects', 'Example']>;
641
623
  protected readonly canSupportSpecificationExtensions: true;
642
- constructor(options: ExampleVisitorOptions);
643
- ObjectElement(objectElement: ObjectElement): {};
644
- }
645
-
646
- declare const ExampleVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
647
-
648
- /**
649
- * @public
650
- */
651
- export declare interface ExampleVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
624
+ constructor(options: BaseFixedFieldsVisitorOptions);
625
+ ObjectElement(path: Path<ObjectElement>): void;
652
626
  }
653
627
 
654
628
  /**
@@ -665,26 +639,18 @@ export declare class ExternalDocumentationElement extends ObjectElement {
665
639
  /**
666
640
  * @public
667
641
  */
668
- export declare class ExternalDocumentationVisitor extends ExternalDocumentationVisitor_base {
642
+ export declare class ExternalDocumentationVisitor extends BaseFixedFieldsVisitor {
669
643
  readonly element: ExternalDocumentationElement;
670
644
  protected readonly specPath: SpecPath<['document', 'objects', 'ExternalDocumentation']>;
671
645
  protected readonly canSupportSpecificationExtensions: true;
672
- constructor(options: ExternalDocumentationVisitorOptions);
673
- }
674
-
675
- declare const ExternalDocumentationVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
676
-
677
- /**
678
- * @public
679
- */
680
- export declare interface ExternalDocumentationVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
646
+ constructor(options: BaseFixedFieldsVisitorOptions);
681
647
  }
682
648
 
683
649
  /**
684
650
  * @public
685
651
  */
686
652
  export declare class FallbackVisitor extends Visitor {
687
- enter(element: Element_2): {};
653
+ enter(path: Path<Element_2>): void;
688
654
  }
689
655
 
690
656
  /**
@@ -696,7 +662,7 @@ export declare class FixedFieldsVisitor extends SpecificationVisitor {
696
662
  protected canSupportSpecificationExtensions: boolean;
697
663
  protected specificationExtensionPredicate: (element: MemberElement) => boolean;
698
664
  constructor({ specPath, ignoredFields, canSupportSpecificationExtensions, specificationExtensionPredicate, ...rest }: FixedFieldsVisitorOptions);
699
- ObjectElement(objectElement: ObjectElement): {};
665
+ ObjectElement(path: Path<ObjectElement>): void;
700
666
  }
701
667
 
702
668
  /**
@@ -714,11 +680,6 @@ export declare interface FixedFieldsVisitorOptions extends SpecificationVisitorO
714
680
  */
715
681
  export declare type Format = 'generic' | 'json' | 'yaml';
716
682
 
717
- /**
718
- * @public
719
- */
720
- export declare const getNodeType: <T extends Element_2>(element: T) => string | undefined;
721
-
722
683
  /**
723
684
  * @public
724
685
  */
@@ -732,7 +693,7 @@ export declare class HeaderContentElement extends ObjectElement {
732
693
  */
733
694
  export declare class HeaderContentVisitor extends ContentVisitor {
734
695
  readonly element: HeaderContentElement;
735
- constructor(options: ContentVisitorOptions);
696
+ constructor(options: BaseMapVisitorOptions);
736
697
  }
737
698
 
738
699
  /**
@@ -758,8 +719,8 @@ export declare class HeaderElement extends ObjectElement {
758
719
  set example(example: Element_2 | undefined);
759
720
  get examples(): ObjectElement | undefined;
760
721
  set examples(examples: ObjectElement | undefined);
761
- get contentProp(): ObjectElement | undefined;
762
- set contentProp(content: ObjectElement | undefined);
722
+ get contentField(): ObjectElement | undefined;
723
+ set contentField(content: ObjectElement | undefined);
763
724
  }
764
725
 
765
726
  /**
@@ -775,45 +736,25 @@ export declare class HeaderExamplesElement extends ObjectElement {
775
736
  */
776
737
  export declare class HeaderExamplesVisitor extends ExamplesVisitor {
777
738
  readonly element: HeaderExamplesElement;
778
- constructor(options: ExamplesVisitorOptions);
739
+ constructor(options: BaseMapVisitorOptions);
779
740
  }
780
741
 
781
742
  /**
782
743
  * @public
783
744
  */
784
- export declare class HeaderSchemaVisitor extends SchemaVisitor_base_3 {
785
- constructor(options: HeaderSchemaVisitorOptions);
786
- ObjectElement(objectElement: ObjectElement): {};
745
+ export declare class HeaderSchemaVisitor extends BaseAlternatingVisitor {
746
+ constructor(options: BaseAlternatingVisitorOptions);
747
+ ObjectElement(path: Path<ObjectElement>): void;
787
748
  }
788
749
 
789
750
  /**
790
751
  * @public
791
752
  */
792
- export declare interface HeaderSchemaVisitorOptions extends AlternatingVisitorOptions, VisitorOptions {
793
- }
794
-
795
- declare const HeadersVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
796
-
797
- declare const HeadersVisitor_base_2: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
798
-
799
- declare const HeadersVisitor_base_3: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
800
-
801
- /**
802
- * @public
803
- */
804
- export declare class HeaderVisitor extends HeaderVisitor_base {
753
+ export declare class HeaderVisitor extends BaseFixedFieldsVisitor {
805
754
  readonly element: HeaderElement;
806
755
  protected readonly specPath: SpecPath<['document', 'objects', 'Header']>;
807
756
  protected readonly canSupportSpecificationExtensions: true;
808
- constructor(options: HeaderVisitorOptions);
809
- }
810
-
811
- declare const HeaderVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
812
-
813
- /**
814
- * @public
815
- */
816
- export declare interface HeaderVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
757
+ constructor(options: BaseFixedFieldsVisitorOptions);
817
758
  }
818
759
 
819
760
  /**
@@ -840,107 +781,78 @@ export declare class InfoElement extends ObjectElement {
840
781
  */
841
782
  export declare class InfoVersionVisitor extends FallbackVisitor {
842
783
  readonly element: StringElement;
843
- StringElement(stringElement: StringElement): {};
784
+ StringElement(path: Path<StringElement>): void;
844
785
  }
845
786
 
846
787
  /**
847
788
  * @public
848
789
  */
849
- export declare class InfoVisitor extends InfoVisitor_base {
790
+ export declare class InfoVisitor extends BaseFixedFieldsVisitor {
850
791
  readonly element: InfoElement;
851
792
  protected readonly specPath: SpecPath<['document', 'objects', 'Info']>;
852
793
  protected readonly canSupportSpecificationExtensions: true;
853
- constructor(options: InfoVisitorOptions);
794
+ constructor(options: BaseFixedFieldsVisitorOptions);
854
795
  }
855
796
 
856
- declare const InfoVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
857
-
858
- /**
859
- * @public
860
- */
861
- export declare interface InfoVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
862
- }
863
-
864
- export { isArrayElement }
865
-
866
- export { isBooleanElement }
867
-
868
- /**
869
- * @public
870
- */
871
- export declare const isBooleanJsonSchemaElement: ElementPredicate<BooleanElement>;
872
-
873
797
  /**
874
798
  * @public
875
799
  */
876
- export declare const isCallbackElement: ElementPredicate<CallbackElement>;
800
+ export declare const isBooleanJsonSchemaElement: (element: unknown) => element is BooleanElement;
877
801
 
878
802
  /**
879
803
  * @public
880
804
  */
881
- export declare const isComponentsElement: ElementPredicate<ComponentsElement>;
805
+ export declare const isCallbackElement: (element: unknown) => element is CallbackElement;
882
806
 
883
807
  /**
884
808
  * @public
885
809
  */
886
- export declare const isContactElement: ElementPredicate<ContactElement>;
887
-
888
- export { isElement }
810
+ export declare const isComponentsElement: (element: unknown) => element is ComponentsElement;
889
811
 
890
812
  /**
891
813
  * @public
892
814
  */
893
- export declare const isExampleElement: ElementPredicate<ExampleElement>;
815
+ export declare const isContactElement: (element: unknown) => element is ContactElement;
894
816
 
895
817
  /**
896
818
  * @public
897
819
  */
898
- export declare const isExternalDocumentationElement: ElementPredicate<ExternalDocumentationElement>;
820
+ export declare const isExampleElement: (element: unknown) => element is ExampleElement;
899
821
 
900
822
  /**
901
823
  * @public
902
824
  */
903
- declare const isHeaderElement: ElementPredicate<HeaderElement>;
825
+ export declare const isExternalDocumentationElement: (element: unknown) => element is ExternalDocumentationElement;
904
826
 
905
827
  /**
906
828
  * @public
907
829
  */
908
- export declare const isInfoElement: ElementPredicate<InfoElement>;
830
+ export declare const isInfoElement: (element: unknown) => element is InfoElement;
909
831
 
910
832
  /**
911
833
  * @public
912
834
  */
913
- export declare const isLicenseElement: ElementPredicate<LicenseElement>;
835
+ export declare const isLicenseElement: (element: unknown) => element is LicenseElement;
914
836
 
915
837
  /**
916
838
  * @public
917
839
  */
918
- export declare const isLinkElement: ElementPredicate<LinkElement>;
919
-
920
- export { isLinkPrimitiveElement }
840
+ export declare const isLinkElement: (element: unknown) => element is LinkElement;
921
841
 
922
842
  /**
923
843
  * @public
924
844
  */
925
- export declare const isMediaTypeElement: ElementPredicate<MediaTypeElement>;
926
-
927
- export { isMemberElement }
928
-
929
- export { isNullElement }
930
-
931
- export { isNumberElement }
932
-
933
- export { isObjectElement }
845
+ export declare const isMediaTypeElement: (element: unknown) => element is MediaTypeElement;
934
846
 
935
847
  /**
936
848
  * @public
937
849
  */
938
- export declare const isOpenApi3_0Element: ElementPredicate<OpenApi3_0Element>;
850
+ export declare const isOpenApi3_0Element: (element: unknown) => element is OpenApi3_0Element;
939
851
 
940
852
  /**
941
853
  * @public
942
854
  */
943
- export declare const isOpenapiElement: ElementPredicate<OpenapiElement>;
855
+ export declare const isOpenapiElement: (element: unknown) => element is OpenapiElement;
944
856
 
945
857
  /**
946
858
  * @public
@@ -950,29 +862,27 @@ export declare const isOpenApiExtension: (element: MemberElement) => boolean;
950
862
  /**
951
863
  * @public
952
864
  */
953
- export declare const isOperationElement: ElementPredicate<OperationElement>;
865
+ export declare const isOperationElement: (element: unknown) => element is OperationElement;
954
866
 
955
867
  /**
956
868
  * @public
957
869
  */
958
- export declare const isParameterElement: ElementPredicate<ParameterElement>;
870
+ export declare const isParameterElement: (element: unknown) => element is ParameterElement;
959
871
 
960
872
  /**
961
873
  * @public
962
874
  */
963
- export declare const isPathItemElement: ElementPredicate<PathItemElement>;
875
+ export declare const isPathItemElement: (element: unknown) => element is PathItemElement;
964
876
 
965
877
  /**
966
878
  * @public
967
879
  */
968
- export declare const isPathsElement: ElementPredicate<PathsElement>;
969
-
970
- export { isRefElement }
880
+ export declare const isPathsElement: (element: unknown) => element is PathsElement;
971
881
 
972
882
  /**
973
883
  * @public
974
884
  */
975
- export declare const isReferenceElement: ElementPredicate<ReferenceElement>;
885
+ export declare const isReferenceElement: (element: unknown) => element is ReferenceElement;
976
886
 
977
887
  /**
978
888
  * @public
@@ -982,59 +892,57 @@ export declare const isReferenceLikeElement: (element: unknown) => element is Re
982
892
  /**
983
893
  * @public
984
894
  */
985
- export declare const isRequestBodyElement: ElementPredicate<RequestBodyElement>;
895
+ export declare const isRequestBodyElement: (element: unknown) => element is RequestBodyElement;
986
896
 
987
897
  /**
988
898
  * @public
989
899
  */
990
- export declare const isResponseElement: ElementPredicate<ResponseElement>;
900
+ export declare const isResponseElement: (element: unknown) => element is ResponseElement;
991
901
 
992
902
  /**
993
903
  * @public
994
904
  */
995
- export declare const isResponsesElement: ElementPredicate<ResponsesElement>;
905
+ export declare const isResponsesElement: (element: unknown) => element is ResponsesElement;
996
906
 
997
907
  /**
998
908
  * @public
999
909
  */
1000
- export declare const isSchemaElement: ElementPredicate<SchemaElement>;
910
+ export declare const isSchemaElement: (element: unknown) => element is SchemaElement;
1001
911
 
1002
912
  /**
1003
913
  * @public
1004
914
  */
1005
- export declare const isSecurityRequirementElement: ElementPredicate<SecurityRequirementElement>;
915
+ export declare const isSecurityRequirementElement: (element: unknown) => element is SecurityRequirementElement;
1006
916
 
1007
917
  /**
1008
918
  * @public
1009
919
  */
1010
- export declare const isSecuritySchemeElement: ElementPredicate<SecuritySchemeElement>;
920
+ export declare const isSecuritySchemeElement: (element: unknown) => element is SecuritySchemeElement;
1011
921
 
1012
922
  /**
1013
923
  * @public
1014
924
  */
1015
- export declare const isServerElement: ElementPredicate<ServerElement>;
925
+ export declare const isServerElement: (element: unknown) => element is ServerElement;
1016
926
 
1017
927
  /**
1018
928
  * @public
1019
929
  */
1020
- export declare const isServerLikeElement: ElementPredicate<ObjectElement_2>;
930
+ export declare const isServerLikeElement: (element: unknown) => element is ObjectElement;
1021
931
 
1022
932
  /**
1023
933
  * @public
1024
934
  */
1025
- export declare const isServersElement: ElementPredicate<ServersElement>;
935
+ export declare const isServersElement: (element: unknown) => element is ServersElement;
1026
936
 
1027
937
  /**
1028
938
  * @public
1029
939
  */
1030
- export declare const isServerVariableElement: ElementPredicate<ServerVariableElement>;
1031
-
1032
- export { isStringElement }
940
+ export declare const isServerVariableElement: (element: unknown) => element is ServerVariableElement;
1033
941
 
1034
942
  /**
1035
943
  * @public
1036
944
  */
1037
- export declare const isTagLikeElement: ElementPredicate<ObjectElement_2>;
945
+ export declare const isTagLikeElement: (element: unknown) => element is ObjectElement;
1038
946
 
1039
947
  /**
1040
948
  * @public
@@ -1046,10 +954,7 @@ export declare const JSONSchemaAllOfVisitor: typeof AllOfVisitor;
1046
954
  */
1047
955
  export declare const JSONSchemaAnyOfVisitor: typeof AnyOfVisitor;
1048
956
 
1049
- /**
1050
- * @public
1051
- */
1052
- export declare const JSONSchemaItemsVisitor: typeof ItemsVisitor;
957
+ export { JSONSchemaItemsVisitor }
1053
958
 
1054
959
  /**
1055
960
  * @public
@@ -1071,60 +976,6 @@ export declare const JSONSchemaPropertiesVisitor: typeof PropertiesVisitor;
1071
976
  */
1072
977
  export declare const JSONSchemaTypeVisitor: typeof TypeVisitor;
1073
978
 
1074
- /**
1075
- * There are unfortunately two `LinkElement` types. One is from base namespace
1076
- * and the other one if from this namespace. `LinkElement` from base namespace
1077
- * is used extremely rarely, so it's almost always safe during traversing
1078
- * to assume that `LinkElement` is element from this namespace.
1079
- *
1080
- * To be 100% sure that currently visiting `LinkElement` is from this namespace
1081
- * use `isLinkElement` predicate from this namespace to assert for it.
1082
- * @public
1083
- */
1084
- export declare const keyMap: {
1085
- ObjectElement: string[];
1086
- ArrayElement: string[];
1087
- MemberElement: string[];
1088
- StringElement: never[];
1089
- BooleanElement: never[];
1090
- NumberElement: never[];
1091
- NullElement: never[];
1092
- RefElement: never[];
1093
- LinkElement: never[];
1094
- Annotation: never[];
1095
- Comment: never[];
1096
- ParseResultElement: string[];
1097
- SourceMap: string[];
1098
- CallbackElement: string[];
1099
- ComponentsElement: string[];
1100
- ContactElement: string[];
1101
- DiscriminatorElement: string[];
1102
- Encoding: string[];
1103
- Example: string[];
1104
- ExternalDocumentationElement: string[];
1105
- HeaderElement: string[];
1106
- InfoElement: string[];
1107
- LicenseElement: string[];
1108
- MediaTypeElement: string[];
1109
- OAuthFlowElement: string[];
1110
- OAuthFlowsElement: string[];
1111
- OpenApi3_0Element: string[];
1112
- OperationElement: string[];
1113
- ParameterElement: string[];
1114
- PathItemElement: string[];
1115
- PathsElement: string[];
1116
- ReferenceElement: string[];
1117
- RequestBodyElement: string[];
1118
- ResponseElement: string[];
1119
- ResponsesElement: string[];
1120
- SchemaElement: string[];
1121
- SecurityRequirementElement: string[];
1122
- SecuritySchemeElement: string[];
1123
- ServerElement: string[];
1124
- ServerVariableElement: string[];
1125
- TagElement: string[];
1126
- };
1127
-
1128
979
  /**
1129
980
  * @public
1130
981
  */
@@ -1139,19 +990,11 @@ export declare class LicenseElement extends ObjectElement {
1139
990
  /**
1140
991
  * @public
1141
992
  */
1142
- export declare class LicenseVisitor extends LicenseVisitor_base {
993
+ export declare class LicenseVisitor extends BaseFixedFieldsVisitor {
1143
994
  readonly element: LicenseElement;
1144
995
  protected readonly specPath: SpecPath<['document', 'objects', 'License']>;
1145
996
  protected readonly canSupportSpecificationExtensions: true;
1146
- constructor(options: LicenseVisitorOptions);
1147
- }
1148
-
1149
- declare const LicenseVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
1150
-
1151
- /**
1152
- * @public
1153
- */
1154
- export declare interface LicenseVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
997
+ constructor(options: BaseFixedFieldsVisitorOptions);
1155
998
  }
1156
999
 
1157
1000
  /**
@@ -1180,7 +1023,7 @@ export declare class LinkElement extends ObjectElement {
1180
1023
  */
1181
1024
  export declare class LinkOperationIdVisitor extends FallbackVisitor {
1182
1025
  readonly element: StringElement;
1183
- StringElement(stringElement: StringElement): {};
1026
+ StringElement(path: Path<StringElement>): void;
1184
1027
  }
1185
1028
 
1186
1029
  /**
@@ -1188,7 +1031,7 @@ export declare class LinkOperationIdVisitor extends FallbackVisitor {
1188
1031
  */
1189
1032
  export declare class LinkOperationRefVisitor extends FallbackVisitor {
1190
1033
  readonly element: StringElement;
1191
- StringElement(stringElement: StringElement): {};
1034
+ StringElement(path: Path<StringElement>): void;
1192
1035
  }
1193
1036
 
1194
1037
  /**
@@ -1202,43 +1045,23 @@ export declare class LinkParametersElement extends ObjectElement {
1202
1045
  /**
1203
1046
  * @public
1204
1047
  */
1205
- export declare class LinkParametersVisitor extends ParametersVisitor_base_3 {
1048
+ export declare class LinkParametersVisitor extends BaseMapVisitor {
1206
1049
  readonly element: LinkParametersElement;
1207
1050
  protected readonly specPath: SpecPath<['value']>;
1208
- constructor(options: LinkParametersVisitorOptions);
1051
+ constructor(options: BaseMapVisitorOptions);
1209
1052
  }
1210
1053
 
1211
1054
  /**
1212
1055
  * @public
1213
1056
  */
1214
- export declare interface LinkParametersVisitorOptions extends MapVisitorOptions, VisitorOptions {
1215
- }
1216
-
1217
- declare const LinksVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
1218
-
1219
- declare const LinksVisitor_base_2: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
1220
-
1221
- /**
1222
- * @public
1223
- */
1224
- export declare class LinkVisitor extends LinkVisitor_base {
1057
+ export declare class LinkVisitor extends BaseFixedFieldsVisitor {
1225
1058
  readonly element: LinkElement;
1226
1059
  protected readonly specPath: SpecPath<['document', 'objects', 'Link']>;
1227
1060
  protected readonly canSupportSpecificationExtensions: true;
1228
- constructor(options: LinkVisitorOptions);
1229
- ObjectElement(objectElement: ObjectElement): {};
1061
+ constructor(options: BaseFixedFieldsVisitorOptions);
1062
+ ObjectElement(path: Path<ObjectElement>): void;
1230
1063
  }
1231
1064
 
1232
- declare const LinkVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
1233
-
1234
- /**
1235
- * @public
1236
- */
1237
- export declare interface LinkVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
1238
- }
1239
-
1240
- declare const MappingVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
1241
-
1242
1065
  /**
1243
1066
  * @public
1244
1067
  */
@@ -1278,16 +1101,10 @@ export declare class MediaTypeEncodingElement extends ObjectElement {
1278
1101
  /**
1279
1102
  * @public
1280
1103
  */
1281
- export declare class MediaTypeEncodingVisitor extends EncodingVisitor_base {
1104
+ export declare class MediaTypeEncodingVisitor extends BaseMapVisitor {
1282
1105
  readonly element: MediaTypeEncodingElement;
1283
1106
  protected readonly specPath: SpecPath<['document', 'objects', 'Encoding']>;
1284
- constructor(options: MediaTypeEncodingVisitorOptions);
1285
- }
1286
-
1287
- /**
1288
- * @public
1289
- */
1290
- export declare interface MediaTypeEncodingVisitorOptions extends MapVisitorOptions, VisitorOptions {
1107
+ constructor(options: BaseMapVisitorOptions);
1291
1108
  }
1292
1109
 
1293
1110
  /**
@@ -1303,7 +1120,7 @@ export declare class MediaTypeExamplesElement extends ObjectElement {
1303
1120
  */
1304
1121
  export declare class MediaTypeExamplesVisitor extends ExamplesVisitor {
1305
1122
  readonly element: MediaTypeExamplesElement;
1306
- constructor(options: ExamplesVisitorOptions);
1123
+ constructor(options: BaseMapVisitorOptions);
1307
1124
  }
1308
1125
 
1309
1126
  /**
@@ -1314,46 +1131,36 @@ export declare const mediaTypes: OpenAPIMediaTypes;
1314
1131
  /**
1315
1132
  * @public
1316
1133
  */
1317
- export declare class MediaTypeSchemaVisitor extends SchemaVisitor_base_2 {
1318
- constructor(options: MediaTypeSchemaVisitorOptions);
1319
- ObjectElement(objectElement: ObjectElement): {};
1320
- }
1321
-
1322
- /**
1323
- * @public
1324
- */
1325
- export declare interface MediaTypeSchemaVisitorOptions extends AlternatingVisitorOptions, VisitorOptions {
1134
+ export declare class MediaTypeSchemaVisitor extends BaseAlternatingVisitor {
1135
+ constructor(options: BaseAlternatingVisitorOptions);
1136
+ ObjectElement(path: Path<ObjectElement>): void;
1326
1137
  }
1327
1138
 
1328
1139
  /**
1329
1140
  * @public
1330
1141
  */
1331
- export declare class MediaTypeVisitor extends MediaTypeVisitor_base {
1142
+ export declare class MediaTypeVisitor extends BaseFixedFieldsVisitor {
1332
1143
  readonly element: MediaTypeElement;
1333
1144
  protected readonly specPath: SpecPath<['document', 'objects', 'MediaType']>;
1334
1145
  protected readonly canSupportSpecificationExtensions: true;
1335
- constructor(options: MediaTypeVisitorOptions);
1146
+ constructor(options: BaseFixedFieldsVisitorOptions);
1336
1147
  }
1337
1148
 
1338
- declare const MediaTypeVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
1339
-
1340
1149
  /**
1341
1150
  * @public
1342
1151
  */
1343
- export declare interface MediaTypeVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
1152
+ export declare class MixedFieldsVisitor extends MixedFieldsVisitorBase {
1153
+ protected readonly specPathFixedFields: SpecPath;
1154
+ protected readonly specPathPatternedFields: SpecPath;
1155
+ constructor({ specPathFixedFields, specPathPatternedFields, ...rest }: MixedFieldsVisitorOptions);
1156
+ ObjectElement(path: Path<ObjectElement>): void;
1344
1157
  }
1345
1158
 
1346
1159
  /**
1160
+ * Base class for MixedFieldsVisitor combining FixedFieldsVisitor and PatternedFieldsVisitor.
1347
1161
  * @public
1348
1162
  */
1349
- export declare class MixedFieldsVisitor extends MixedFieldsVisitor_base {
1350
- protected specPathFixedFields: SpecPath;
1351
- protected specPathPatternedFields: SpecPath;
1352
- constructor({ specPathFixedFields, specPathPatternedFields, ...rest }: MixedFieldsVisitorOptions);
1353
- ObjectElement(objectElement: ObjectElement): {};
1354
- }
1355
-
1356
- declare const MixedFieldsVisitor_base: Class<any[], FixedFieldsVisitor & PatternedFieldsVisitor, typeof FixedFieldsVisitor & typeof PatternedFieldsVisitor>;
1163
+ export declare const MixedFieldsVisitorBase: Class<any[], FixedFieldsVisitor & PatternedFieldsVisitor, typeof FixedFieldsVisitor & typeof PatternedFieldsVisitor>;
1357
1164
 
1358
1165
  /**
1359
1166
  * @public
@@ -1389,16 +1196,10 @@ export declare class OAuthFlowScopesElement extends ObjectElement {
1389
1196
  /**
1390
1197
  * @public
1391
1198
  */
1392
- export declare class OAuthFlowScopesVisitor extends ScopesVisitor_base {
1199
+ export declare class OAuthFlowScopesVisitor extends BaseMapVisitor {
1393
1200
  readonly element: OAuthFlowScopesElement;
1394
1201
  protected readonly specPath: SpecPath<['value']>;
1395
- constructor(options: OAuthFlowScopesVisitorOptions);
1396
- }
1397
-
1398
- /**
1399
- * @public
1400
- */
1401
- export declare interface OAuthFlowScopesVisitorOptions extends MapVisitorOptions, VisitorOptions {
1202
+ constructor(options: BaseMapVisitorOptions);
1402
1203
  }
1403
1204
 
1404
1205
  /**
@@ -1419,45 +1220,27 @@ export declare class OAuthFlowsElement extends ObjectElement {
1419
1220
  /**
1420
1221
  * @public
1421
1222
  */
1422
- export declare class OAuthFlowsVisitor extends OAuthFlowsVisitor_base {
1223
+ export declare class OAuthFlowsVisitor extends BaseFixedFieldsVisitor {
1423
1224
  readonly element: OAuthFlowsElement;
1424
1225
  protected readonly specPath: SpecPath<['document', 'objects', 'OAuthFlows']>;
1425
1226
  protected readonly canSupportSpecificationExtensions: true;
1426
- constructor(options: OAuthFlowsVisitorOptions);
1427
- }
1428
-
1429
- declare const OAuthFlowsVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
1430
-
1431
- /**
1432
- * @public
1433
- */
1434
- export declare interface OAuthFlowsVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
1227
+ constructor(options: BaseFixedFieldsVisitorOptions);
1435
1228
  }
1436
1229
 
1437
1230
  /**
1438
1231
  * @public
1439
1232
  */
1440
- export declare class OAuthFlowVisitor extends OAuthFlowVisitor_base {
1233
+ export declare class OAuthFlowVisitor extends BaseFixedFieldsVisitor {
1441
1234
  readonly element: OAuthFlowElement;
1442
1235
  protected readonly specPath: SpecPath<['document', 'objects', 'OAuthFlow']>;
1443
1236
  protected readonly canSupportSpecificationExtensions: true;
1444
- constructor(options: OAuthFlowVisitorOptions);
1237
+ constructor(options: BaseFixedFieldsVisitorOptions);
1445
1238
  }
1446
1239
 
1447
- declare const OAuthFlowVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
1448
-
1449
1240
  /**
1450
1241
  * @public
1451
1242
  */
1452
- export declare interface OAuthFlowVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
1453
- }
1454
-
1455
- /**
1456
- * @public
1457
- */
1458
- declare const openApi3_0: {
1459
- namespace: (options: NamespacePluginOptions) => Namespace;
1460
- };
1243
+ declare const openApi3_0: NamespacePlugin;
1461
1244
  export default openApi3_0;
1462
1245
 
1463
1246
  /**
@@ -1483,56 +1266,15 @@ export declare class OpenApi3_0Element extends ObjectElement {
1483
1266
  set externalDocs(externalDocs: ExternalDocumentationElement | undefined);
1484
1267
  }
1485
1268
 
1486
- declare namespace openApi3_0Predicates {
1487
- export {
1488
- isCallbackElement,
1489
- isComponentsElement,
1490
- isContactElement,
1491
- isExampleElement,
1492
- isExternalDocumentationElement,
1493
- isHeaderElement,
1494
- isInfoElement,
1495
- isLicenseElement,
1496
- isLinkElement,
1497
- isOpenapiElement,
1498
- isOpenApi3_0Element,
1499
- isOperationElement,
1500
- isParameterElement,
1501
- isPathItemElement,
1502
- isPathsElement,
1503
- isReferenceElement,
1504
- isRequestBodyElement,
1505
- isResponseElement,
1506
- isResponsesElement,
1507
- isSchemaElement,
1508
- isBooleanJsonSchemaElement,
1509
- isSecurityRequirementElement,
1510
- isSecuritySchemeElement,
1511
- isServerElement,
1512
- isServerVariableElement,
1513
- isMediaTypeElement,
1514
- isServersElement
1515
- }
1516
- }
1517
- export { openApi3_0Predicates }
1518
-
1519
- /**
1520
- * @public
1521
- */
1522
- export declare class OpenApi3_0Visitor extends OpenApi3_0Visitor_base {
1523
- readonly element: OpenApi3_0Element;
1524
- protected readonly specPath: SpecPath<['document', 'objects', 'OpenApi']>;
1525
- protected readonly canSupportSpecificationExtensions: true;
1526
- constructor(options: OpenApi3_0VisitorOptions);
1527
- ObjectElement(objectElement: ObjectElement): {};
1528
- }
1529
-
1530
- declare const OpenApi3_0Visitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
1531
-
1532
1269
  /**
1533
1270
  * @public
1534
1271
  */
1535
- export declare interface OpenApi3_0VisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
1272
+ export declare class OpenApi3_0Visitor extends BaseFixedFieldsVisitor {
1273
+ readonly element: OpenApi3_0Element;
1274
+ protected readonly specPath: SpecPath<['document', 'objects', 'OpenApi']>;
1275
+ protected readonly canSupportSpecificationExtensions: true;
1276
+ constructor(options: BaseFixedFieldsVisitorOptions);
1277
+ ObjectElement(path: Path<ObjectElement>): void;
1536
1278
  }
1537
1279
 
1538
1280
  /**
@@ -1554,17 +1296,9 @@ export declare class OpenAPIMediaTypes extends MediaTypes<string> {
1554
1296
  /**
1555
1297
  * @public
1556
1298
  */
1557
- export declare class OpenapiVisitor extends OpenapiVisitor_base {
1299
+ export declare class OpenapiVisitor extends BaseSpecificationVisitor {
1558
1300
  element: OpenapiElement;
1559
- StringElement(stringElement: StringElement): {};
1560
- }
1561
-
1562
- declare const OpenapiVisitor_base: Class<any[], SpecificationVisitor & FallbackVisitor, typeof SpecificationVisitor & typeof FallbackVisitor>;
1563
-
1564
- /**
1565
- * @public
1566
- */
1567
- export declare interface OpenapiVisitorOptions extends SpecificationVisitorOptions, VisitorOptions {
1301
+ StringElement(path: Path<StringElement>): void;
1568
1302
  }
1569
1303
 
1570
1304
  /**
@@ -1578,21 +1312,15 @@ export declare class OperationCallbacksElement extends ObjectElement {
1578
1312
  /**
1579
1313
  * @public
1580
1314
  */
1581
- export declare class OperationCallbacksVisitor extends CallbacksVisitor_base_2 {
1315
+ export declare class OperationCallbacksVisitor extends BaseMapVisitor {
1582
1316
  readonly element: OperationCallbacksElement;
1583
1317
  protected readonly specPath: SpecPath<[
1584
1318
  'document',
1585
1319
  'objects',
1586
1320
  'Reference'
1587
1321
  ] | ['document', 'objects', 'Callback']>;
1588
- constructor(options: OperationCallbacksVisitorOptions);
1589
- ObjectElement(objectElement: ObjectElement): {};
1590
- }
1591
-
1592
- /**
1593
- * @public
1594
- */
1595
- export declare interface OperationCallbacksVisitorOptions extends MapVisitorOptions, VisitorOptions {
1322
+ constructor(options: BaseMapVisitorOptions);
1323
+ ObjectElement(path: Path<ObjectElement>): void;
1596
1324
  }
1597
1325
 
1598
1326
  /**
@@ -1639,7 +1367,7 @@ export declare class OperationParametersElement extends ArrayElement {
1639
1367
  */
1640
1368
  export declare class OperationParametersVisitor extends ParametersVisitor {
1641
1369
  readonly element: OperationParametersElement;
1642
- constructor(options: ParametersVisitorOptions);
1370
+ constructor(options: BaseSpecificationVisitorOptions);
1643
1371
  }
1644
1372
 
1645
1373
  /**
@@ -1647,7 +1375,7 @@ export declare class OperationParametersVisitor extends ParametersVisitor {
1647
1375
  */
1648
1376
  export declare class OperationRequestBodyVisitor extends AlternatingVisitor {
1649
1377
  constructor(options: OperationRequestBodyVisitorOptions);
1650
- ObjectElement(objectElement: ObjectElement): {};
1378
+ ObjectElement(path: Path<ObjectElement>): void;
1651
1379
  }
1652
1380
 
1653
1381
  /**
@@ -1667,16 +1395,10 @@ export declare class OperationSecurityElement extends ArrayElement {
1667
1395
  /**
1668
1396
  * @public
1669
1397
  */
1670
- export declare class OperationSecurityVisitor extends SecurityVisitor_base_2 {
1398
+ export declare class OperationSecurityVisitor extends BaseSpecificationVisitor {
1671
1399
  readonly element: OperationSecurityElement;
1672
- constructor(options: OperationSecurityVisitorOptions);
1673
- ArrayElement(arrayElement: ArrayElement): {};
1674
- }
1675
-
1676
- /**
1677
- * @public
1678
- */
1679
- export declare interface OperationSecurityVisitorOptions extends SpecificationVisitorOptions, VisitorOptions {
1400
+ constructor(options: BaseSpecificationVisitorOptions);
1401
+ ArrayElement(path: Path<ArrayElement>): void;
1680
1402
  }
1681
1403
 
1682
1404
  /**
@@ -1692,7 +1414,7 @@ export declare class OperationServersElement extends ArrayElement {
1692
1414
  */
1693
1415
  export declare class OperationServersVisitor extends ServersVisitor {
1694
1416
  readonly element: OperationServersElement;
1695
- constructor(options: ServersVisitorOptions);
1417
+ constructor(options: BaseSpecificationVisitorOptions);
1696
1418
  }
1697
1419
 
1698
1420
  /**
@@ -1709,7 +1431,7 @@ export declare class OperationTagsElement extends ArrayElement {
1709
1431
  export declare class OperationTagsVisitor extends FallbackVisitor {
1710
1432
  element: OperationTagsElement;
1711
1433
  constructor(options: OperationTagsVisitorOptions);
1712
- ArrayElement(arrayElement: ArrayElement): {};
1434
+ ArrayElement(path: Path<ArrayElement>): void;
1713
1435
  }
1714
1436
 
1715
1437
  /**
@@ -1721,18 +1443,10 @@ export declare interface OperationTagsVisitorOptions extends VisitorOptions {
1721
1443
  /**
1722
1444
  * @public
1723
1445
  */
1724
- export declare class OperationVisitor extends OperationVisitor_base {
1446
+ export declare class OperationVisitor extends BaseFixedFieldsVisitor {
1725
1447
  readonly element: OperationElement;
1726
1448
  protected readonly specPath: SpecPath<['document', 'objects', 'Operation']>;
1727
- constructor(options: OperationVisitorOptions);
1728
- }
1729
-
1730
- declare const OperationVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
1731
-
1732
- /**
1733
- * @public
1734
- */
1735
- export declare interface OperationVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
1449
+ constructor(options: BaseFixedFieldsVisitorOptions);
1736
1450
  }
1737
1451
 
1738
1452
  /**
@@ -1748,7 +1462,7 @@ export declare class ParameterContentElement extends ObjectElement {
1748
1462
  */
1749
1463
  export declare class ParameterContentVisitor extends ContentVisitor {
1750
1464
  readonly element: ParameterContentElement;
1751
- constructor(options: ContentVisitorOptions);
1465
+ constructor(options: BaseMapVisitorOptions);
1752
1466
  }
1753
1467
 
1754
1468
  /**
@@ -1778,8 +1492,8 @@ export declare class ParameterElement extends ObjectElement {
1778
1492
  set example(example: Element_2 | undefined);
1779
1493
  get examples(): ObjectElement | undefined;
1780
1494
  set examples(examples: ObjectElement | undefined);
1781
- get contentProp(): ObjectElement | undefined;
1782
- set contentProp(content: ObjectElement | undefined);
1495
+ get contentField(): ObjectElement | undefined;
1496
+ set contentField(content: ObjectElement | undefined);
1783
1497
  }
1784
1498
 
1785
1499
  /**
@@ -1795,64 +1509,35 @@ export declare class ParameterExamplesElement extends ObjectElement {
1795
1509
  */
1796
1510
  export declare class ParameterExampleVisitor extends ExamplesVisitor {
1797
1511
  readonly element: ParameterExamplesElement;
1798
- constructor(options: ExamplesVisitorOptions);
1799
- }
1800
-
1801
- /**
1802
- * @public
1803
- */
1804
- export declare class ParameterSchemaVisitor extends SchemaVisitor_base {
1805
- constructor(options: ParameterSchemaVisitorOptions);
1806
- ObjectElement(objectElement: ObjectElement): {};
1512
+ constructor(options: BaseMapVisitorOptions);
1807
1513
  }
1808
1514
 
1809
1515
  /**
1810
1516
  * @public
1811
1517
  */
1812
- export declare interface ParameterSchemaVisitorOptions extends AlternatingVisitorOptions, VisitorOptions {
1518
+ export declare class ParameterSchemaVisitor extends BaseAlternatingVisitor {
1519
+ constructor(options: BaseAlternatingVisitorOptions);
1520
+ ObjectElement(path: Path<ObjectElement>): void;
1813
1521
  }
1814
1522
 
1815
1523
  /**
1816
1524
  * @public
1817
1525
  */
1818
- export declare class ParametersVisitor extends ParametersVisitor_base_2 {
1819
- readonly element: ArrayElement;
1820
- constructor(options: ParametersVisitorOptions);
1821
- ArrayElement(arrayElement: ArrayElement): {};
1822
- }
1823
-
1824
- declare const ParametersVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
1825
-
1826
- declare const ParametersVisitor_base_2: Class<any[], SpecificationVisitor & FallbackVisitor, typeof SpecificationVisitor & typeof FallbackVisitor>;
1827
-
1828
- declare const ParametersVisitor_base_3: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
1829
-
1830
- /**
1831
- * @public
1832
- */
1833
- declare interface ParametersVisitorOptions extends SpecificationVisitorOptions, VisitorOptions {
1526
+ export declare class ParametersVisitor extends BaseSpecificationVisitor {
1527
+ readonly element: ArrayElement;
1528
+ constructor(options: BaseSpecificationVisitorOptions);
1529
+ ArrayElement(path: Path<ArrayElement>): void;
1834
1530
  }
1835
- export { ParametersVisitorOptions as OperationParametersVisitorOptions }
1836
- export { ParametersVisitorOptions }
1837
- export { ParametersVisitorOptions as PathItemParametersVisitorOptions }
1838
1531
 
1839
1532
  /**
1840
1533
  * @public
1841
1534
  */
1842
- export declare class ParameterVisitor extends ParameterVisitor_base {
1535
+ export declare class ParameterVisitor extends BaseFixedFieldsVisitor {
1843
1536
  readonly element: ParameterElement;
1844
1537
  protected readonly specPath: SpecPath<['document', 'objects', 'Parameter']>;
1845
1538
  protected readonly canSupportSpecificationExtensions: true;
1846
- constructor(options: ParameterVisitorOptions);
1847
- ObjectElement(objectElement: ObjectElement): {};
1848
- }
1849
-
1850
- declare const ParameterVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
1851
-
1852
- /**
1853
- * @public
1854
- */
1855
- export declare interface ParameterVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
1539
+ constructor(options: BaseFixedFieldsVisitorOptions);
1540
+ ObjectElement(path: Path<ObjectElement>): void;
1856
1541
  }
1857
1542
 
1858
1543
  /**
@@ -1860,7 +1545,7 @@ export declare interface ParameterVisitorOptions extends FixedFieldsVisitorOptio
1860
1545
  */
1861
1546
  export declare class PathItem$RefVisitor extends FallbackVisitor {
1862
1547
  readonly element: StringElement;
1863
- StringElement(stringElement: StringElement): {};
1548
+ StringElement(path: Path<StringElement>): void;
1864
1549
  }
1865
1550
 
1866
1551
  /**
@@ -1874,22 +1559,22 @@ export declare class PathItemElement extends ObjectElement {
1874
1559
  set summary(summary: StringElement | undefined);
1875
1560
  get description(): StringElement;
1876
1561
  set description(description: StringElement | undefined);
1877
- get GET(): OperationElement;
1878
- set GET(operation: OperationElement | undefined);
1879
- get PUT(): OperationElement;
1880
- set PUT(operation: OperationElement | undefined);
1881
- get POST(): OperationElement;
1882
- set POST(operation: OperationElement | undefined);
1883
- get DELETE(): OperationElement;
1884
- set DELETE(operation: OperationElement | undefined);
1885
- get OPTIONS(): OperationElement;
1886
- set OPTIONS(operation: OperationElement | undefined);
1887
- get HEAD(): OperationElement;
1888
- set HEAD(operation: OperationElement | undefined);
1889
- get PATCH(): OperationElement;
1890
- set PATCH(operation: OperationElement | undefined);
1891
- get TRACE(): OperationElement;
1892
- set TRACE(operation: OperationElement | undefined);
1562
+ get getField(): OperationElement | undefined;
1563
+ set getField(operation: OperationElement | undefined);
1564
+ get put(): OperationElement | undefined;
1565
+ set put(operation: OperationElement | undefined);
1566
+ get post(): OperationElement | undefined;
1567
+ set post(operation: OperationElement | undefined);
1568
+ get deleteField(): OperationElement | undefined;
1569
+ set deleteField(operation: OperationElement | undefined);
1570
+ get options(): OperationElement | undefined;
1571
+ set options(operation: OperationElement | undefined);
1572
+ get head(): OperationElement | undefined;
1573
+ set head(operation: OperationElement | undefined);
1574
+ get patch(): OperationElement | undefined;
1575
+ set patch(operation: OperationElement | undefined);
1576
+ get trace(): OperationElement | undefined;
1577
+ set trace(operation: OperationElement | undefined);
1893
1578
  get servers(): ArrayElement | undefined;
1894
1579
  set servers(servers: ArrayElement | undefined);
1895
1580
  get parameters(): ArrayElement;
@@ -1909,7 +1594,7 @@ export declare class PathItemParametersElement extends ArrayElement {
1909
1594
  */
1910
1595
  export declare class PathItemParametersVisitor extends ParametersVisitor {
1911
1596
  readonly element: PathItemParametersElement;
1912
- constructor(options: ParametersVisitorOptions);
1597
+ constructor(options: BaseSpecificationVisitorOptions);
1913
1598
  }
1914
1599
 
1915
1600
  /**
@@ -1925,25 +1610,17 @@ export declare class PathItemServersElement extends ArrayElement {
1925
1610
  */
1926
1611
  export declare class PathItemServersVisitor extends ServersVisitor {
1927
1612
  readonly element: PathItemServersElement;
1928
- constructor(options: ServersVisitorOptions);
1613
+ constructor(options: BaseSpecificationVisitorOptions);
1929
1614
  }
1930
1615
 
1931
1616
  /**
1932
1617
  * @public
1933
1618
  */
1934
- export declare class PathItemVisitor extends PathItemVisitor_base {
1619
+ export declare class PathItemVisitor extends BaseFixedFieldsVisitor {
1935
1620
  readonly element: PathItemElement;
1936
1621
  protected readonly specPath: SpecPath<['document', 'objects', 'PathItem']>;
1937
- constructor(options: PathItemVisitorOptions);
1938
- ObjectElement(objectElement: ObjectElement): {};
1939
- }
1940
-
1941
- declare const PathItemVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
1942
-
1943
- /**
1944
- * @public
1945
- */
1946
- export declare interface PathItemVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
1622
+ constructor(options: BaseFixedFieldsVisitorOptions);
1623
+ ObjectElement(path: Path<ObjectElement>): void;
1947
1624
  }
1948
1625
 
1949
1626
  /**
@@ -1956,20 +1633,12 @@ export declare class PathsElement extends ObjectElement {
1956
1633
  /**
1957
1634
  * @public
1958
1635
  */
1959
- export declare class PathsVisitor extends PathsVisitor_base {
1636
+ export declare class PathsVisitor extends BasePatternedFieldsVisitor {
1960
1637
  readonly element: PathsElement;
1961
1638
  protected readonly specPath: SpecPath<['document', 'objects', 'PathItem']>;
1962
1639
  protected readonly canSupportSpecificationExtensions: true;
1963
- constructor(options: PathsVisitorOptions);
1964
- ObjectElement(objectElement: ObjectElement): {};
1965
- }
1966
-
1967
- declare const PathsVisitor_base: Class<any[], PatternedFieldsVisitor & FallbackVisitor, typeof PatternedFieldsVisitor & typeof FallbackVisitor>;
1968
-
1969
- /**
1970
- * @public
1971
- */
1972
- export declare interface PathsVisitorOptions extends PatternedFieldsVisitorOptions, VisitorOptions {
1640
+ constructor(options: BasePatternedFieldsVisitorOptions);
1641
+ ObjectElement(path: Path<ObjectElement>): void;
1973
1642
  }
1974
1643
 
1975
1644
  /**
@@ -1982,7 +1651,7 @@ export declare class PatternedFieldsVisitor extends SpecificationVisitor {
1982
1651
  protected canSupportSpecificationExtensions: boolean;
1983
1652
  protected specificationExtensionPredicate: (element: MemberElement) => boolean;
1984
1653
  constructor({ specPath, ignoredFields, fieldPatternPredicate, canSupportSpecificationExtensions, specificationExtensionPredicate, ...rest }: PatternedFieldsVisitorOptions);
1985
- ObjectElement(objectElement: ObjectElement): {};
1654
+ ObjectElement(path: Path<ObjectElement>): void;
1986
1655
  }
1987
1656
 
1988
1657
  /**
@@ -2001,7 +1670,7 @@ export declare interface PatternedFieldsVisitorOptions extends SpecificationVisi
2001
1670
  */
2002
1671
  export declare class Reference$RefVisitor extends FallbackVisitor {
2003
1672
  readonly element: StringElement;
2004
- StringElement(stringElement: StringElement): {};
1673
+ StringElement(path: Path<StringElement>): void;
2005
1674
  }
2006
1675
 
2007
1676
  /**
@@ -2016,47 +1685,232 @@ export declare class ReferenceElement extends ObjectElement {
2016
1685
  /**
2017
1686
  * @public
2018
1687
  */
2019
- export declare interface ReferenceLikeElement extends ObjectElement_2 {
1688
+ export declare interface ReferenceLikeElement extends ObjectElement {
2020
1689
  hasKey: (value: '$ref') => true;
2021
1690
  }
2022
1691
 
2023
1692
  /**
2024
1693
  * @public
2025
1694
  */
2026
- export declare class ReferenceVisitor extends ReferenceVisitor_base {
1695
+ export declare class ReferenceVisitor extends BaseFixedFieldsVisitor {
2027
1696
  readonly element: ReferenceElement;
2028
1697
  protected readonly specPath: SpecPath<['document', 'objects', 'Reference']>;
2029
1698
  protected readonly canSupportSpecificationExtensions: false;
2030
- constructor(options: ReferenceVisitorOptions);
2031
- ObjectElement(objectElement: ObjectElement): {};
1699
+ constructor(options: BaseFixedFieldsVisitorOptions);
1700
+ ObjectElement(path: Path<ObjectElement>): void;
2032
1701
  }
2033
1702
 
2034
- declare const ReferenceVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
1703
+ /**
1704
+ * @public
1705
+ */
1706
+ export declare const refract: <T extends Element_2>(value: unknown, { element, plugins, specificationObj }?: RefractorOptions) => T;
1707
+
1708
+ /**
1709
+ * Refracts a value into a CallbackElement.
1710
+ * @public
1711
+ */
1712
+ export declare const refractCallback: <T extends Element_2 = CallbackElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1713
+
1714
+ /**
1715
+ * Refracts a value into a ComponentsElement.
1716
+ * @public
1717
+ */
1718
+ export declare const refractComponents: <T extends Element_2 = ComponentsElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1719
+
1720
+ /**
1721
+ * Refracts a value into a ContactElement.
1722
+ * @public
1723
+ */
1724
+ export declare const refractContact: <T extends Element_2 = ContactElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1725
+
1726
+ /**
1727
+ * Refracts a value into a DiscriminatorElement.
1728
+ * @public
1729
+ */
1730
+ export declare const refractDiscriminator: <T extends Element_2 = DiscriminatorElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1731
+
1732
+ /**
1733
+ * Refracts a value into an EncodingElement.
1734
+ * @public
1735
+ */
1736
+ export declare const refractEncoding: <T extends Element_2 = EncodingElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1737
+
1738
+ /**
1739
+ * Refracts a value into an ExampleElement.
1740
+ * @public
1741
+ */
1742
+ export declare const refractExample: <T extends Element_2 = ExampleElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1743
+
1744
+ /**
1745
+ * Refracts a value into an ExternalDocumentationElement.
1746
+ * @public
1747
+ */
1748
+ export declare const refractExternalDocumentation: <T extends Element_2 = ExternalDocumentationElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1749
+
1750
+ /**
1751
+ * Refracts a value into a HeaderElement.
1752
+ * @public
1753
+ */
1754
+ export declare const refractHeader: <T extends Element_2 = HeaderElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1755
+
1756
+ /**
1757
+ * Refracts a value into an InfoElement.
1758
+ * @public
1759
+ */
1760
+ export declare const refractInfo: <T extends Element_2 = InfoElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1761
+
1762
+ /**
1763
+ * Refracts a value into a LicenseElement.
1764
+ * @public
1765
+ */
1766
+ export declare const refractLicense: <T extends Element_2 = LicenseElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1767
+
1768
+ /**
1769
+ * Refracts a value into a LinkElement.
1770
+ * @public
1771
+ */
1772
+ export declare const refractLink: <T extends Element_2 = LinkElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1773
+
1774
+ /**
1775
+ * Refracts a value into a MediaTypeElement.
1776
+ * @public
1777
+ */
1778
+ export declare const refractMediaType: <T extends Element_2 = MediaTypeElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1779
+
1780
+ /**
1781
+ * Refracts a value into an OAuthFlowElement.
1782
+ * @public
1783
+ */
1784
+ export declare const refractOAuthFlow: <T extends Element_2 = OAuthFlowElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1785
+
1786
+ /**
1787
+ * Refracts a value into an OAuthFlowsElement.
1788
+ * @public
1789
+ */
1790
+ export declare const refractOAuthFlows: <T extends Element_2 = OAuthFlowsElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1791
+
1792
+ /**
1793
+ * Refracts a value into an OpenApi3_0Element.
1794
+ * @public
1795
+ */
1796
+ export declare const refractOpenApi3_0: <T extends Element_2 = OpenApi3_0Element>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1797
+
1798
+ /**
1799
+ * Refracts a value into an OperationElement.
1800
+ * @public
1801
+ */
1802
+ export declare const refractOperation: <T extends Element_2 = OperationElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
2035
1803
 
2036
1804
  /**
2037
1805
  * @public
2038
1806
  */
2039
- export declare interface ReferenceVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
1807
+ export declare interface RefractorOptions {
1808
+ readonly element?: string;
1809
+ readonly plugins?: RefractorPlugin[];
1810
+ readonly specificationObj?: typeof specificationObj;
2040
1811
  }
2041
1812
 
2042
1813
  /**
2043
1814
  * @public
2044
1815
  */
2045
- export declare const refract: <T extends Element_2>(value: unknown, { specPath, plugins }?: {
2046
- specPath?: string[] | undefined;
2047
- plugins?: never[] | undefined;
2048
- }) => T;
1816
+ export declare type RefractorPlugin = (toolbox: Toolbox) => {
1817
+ visitor?: object;
1818
+ pre?: () => void;
1819
+ post?: () => void;
1820
+ };
2049
1821
 
2050
1822
  /**
2051
1823
  * @public
2052
1824
  */
2053
1825
  export declare const refractorPluginReplaceEmptyElement: () => () => {
2054
1826
  visitor: {
2055
- StringElement(element: StringElement, key: any, parent: any, path: any, ancestors: any[]): any;
1827
+ StringElement(path: Path<StringElement>): void;
2056
1828
  };
2057
1829
  };
2058
1830
 
2059
- declare const RequestBodiesVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
1831
+ /**
1832
+ * Refracts a value into a ParameterElement.
1833
+ * @public
1834
+ */
1835
+ export declare const refractParameter: <T extends Element_2 = ParameterElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1836
+
1837
+ /**
1838
+ * Refracts a value into a PathItemElement.
1839
+ * @public
1840
+ */
1841
+ export declare const refractPathItem: <T extends Element_2 = PathItemElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1842
+
1843
+ /**
1844
+ * Refracts a value into a PathsElement.
1845
+ * @public
1846
+ */
1847
+ export declare const refractPaths: <T extends Element_2 = PathsElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1848
+
1849
+ /**
1850
+ * Refracts a value into a ReferenceElement.
1851
+ * @public
1852
+ */
1853
+ export declare const refractReference: <T extends Element_2 = ReferenceElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1854
+
1855
+ /**
1856
+ * Refracts a value into a RequestBodyElement.
1857
+ * @public
1858
+ */
1859
+ export declare const refractRequestBody: <T extends Element_2 = RequestBodyElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1860
+
1861
+ /**
1862
+ * Refracts a value into a ResponseElement.
1863
+ * @public
1864
+ */
1865
+ export declare const refractResponse: <T extends Element_2 = ResponseElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1866
+
1867
+ /**
1868
+ * Refracts a value into a ResponsesElement.
1869
+ * @public
1870
+ */
1871
+ export declare const refractResponses: <T extends Element_2 = ResponsesElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1872
+
1873
+ /**
1874
+ * Refracts a value into a SchemaElement.
1875
+ * @public
1876
+ */
1877
+ export declare const refractSchema: <T extends Element_2 = SchemaElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1878
+
1879
+ /**
1880
+ * Refracts a value into a SecurityRequirementElement.
1881
+ * @public
1882
+ */
1883
+ export declare const refractSecurityRequirement: <T extends Element_2 = SecurityRequirementElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1884
+
1885
+ /**
1886
+ * Refracts a value into a SecuritySchemeElement.
1887
+ * @public
1888
+ */
1889
+ export declare const refractSecurityScheme: <T extends Element_2 = SecuritySchemeElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1890
+
1891
+ /**
1892
+ * Refracts a value into a ServerElement.
1893
+ * @public
1894
+ */
1895
+ export declare const refractServer: <T extends Element_2 = ServerElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1896
+
1897
+ /**
1898
+ * Refracts a value into a ServerVariableElement.
1899
+ * @public
1900
+ */
1901
+ export declare const refractServerVariable: <T extends Element_2 = ServerVariableElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1902
+
1903
+ /**
1904
+ * Refracts a value into a TagElement.
1905
+ * @public
1906
+ */
1907
+ export declare const refractTag: <T extends Element_2 = TagElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1908
+
1909
+ /**
1910
+ * Refracts a value into an XmlElement.
1911
+ * @public
1912
+ */
1913
+ export declare const refractXml: <T extends Element_2 = XmlElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
2060
1914
 
2061
1915
  /**
2062
1916
  * @public
@@ -2071,7 +1925,7 @@ export declare class RequestBodyContentElement extends ObjectElement {
2071
1925
  */
2072
1926
  export declare class RequestBodyContentVisitor extends ContentVisitor {
2073
1927
  readonly element: RequestBodyContentElement;
2074
- constructor(options: ContentVisitorOptions);
1928
+ constructor(options: BaseMapVisitorOptions);
2075
1929
  }
2076
1930
 
2077
1931
  /**
@@ -2081,8 +1935,8 @@ export declare class RequestBodyElement extends ObjectElement {
2081
1935
  constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
2082
1936
  get description(): StringElement | undefined;
2083
1937
  set description(description: StringElement | undefined);
2084
- get contentProp(): ObjectElement | undefined;
2085
- set contentProp(content: ObjectElement | undefined);
1938
+ get contentField(): ObjectElement | undefined;
1939
+ set contentField(content: ObjectElement | undefined);
2086
1940
  get required(): BooleanElement;
2087
1941
  set required(required: BooleanElement);
2088
1942
  }
@@ -2090,19 +1944,11 @@ export declare class RequestBodyElement extends ObjectElement {
2090
1944
  /**
2091
1945
  * @public
2092
1946
  */
2093
- export declare class RequestBodyVisitor extends RequestBodyVisitor_base {
1947
+ export declare class RequestBodyVisitor extends BaseFixedFieldsVisitor {
2094
1948
  readonly element: RequestBodyElement;
2095
1949
  protected readonly specPath: SpecPath<['document', 'objects', 'RequestBody']>;
2096
- constructor(options: RequestBodyVisitorOptions);
2097
- ObjectElement(objectElement: ObjectElement): {};
2098
- }
2099
-
2100
- declare const RequestBodyVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
2101
-
2102
- /**
2103
- * @public
2104
- */
2105
- export declare interface RequestBodyVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
1950
+ constructor(options: BaseFixedFieldsVisitorOptions);
1951
+ ObjectElement(path: Path<ObjectElement>): void;
2106
1952
  }
2107
1953
 
2108
1954
  /**
@@ -2118,7 +1964,7 @@ export declare class ResponseContentElement extends ObjectElement {
2118
1964
  */
2119
1965
  export declare class ResponseContentVisitor extends ContentVisitor {
2120
1966
  readonly element: ResponseContentElement;
2121
- constructor(options: ContentVisitorOptions);
1967
+ constructor(options: BaseMapVisitorOptions);
2122
1968
  }
2123
1969
 
2124
1970
  /**
@@ -2130,10 +1976,10 @@ export declare class ResponseElement extends ObjectElement {
2130
1976
  set description(description: StringElement | undefined);
2131
1977
  get headers(): ObjectElement | undefined;
2132
1978
  set headers(headers: ObjectElement | undefined);
2133
- get contentProp(): ObjectElement | undefined;
2134
- set contentProp(contentProp: ObjectElement | undefined);
2135
- get links(): ObjectElement | undefined;
2136
- set links(links: ObjectElement | undefined);
1979
+ get contentField(): ObjectElement | undefined;
1980
+ set contentField(content: ObjectElement | undefined);
1981
+ get linksField(): ObjectElement | undefined;
1982
+ set linksField(links: ObjectElement | undefined);
2137
1983
  }
2138
1984
 
2139
1985
  /**
@@ -2147,21 +1993,15 @@ export declare class ResponseHeadersElement extends ObjectElement {
2147
1993
  /**
2148
1994
  * @public
2149
1995
  */
2150
- export declare class ResponseHeadersVisitor extends HeadersVisitor_base_3 {
1996
+ export declare class ResponseHeadersVisitor extends BaseMapVisitor {
2151
1997
  readonly element: ResponseHeadersElement;
2152
1998
  protected readonly specPath: SpecPath<[
2153
1999
  'document',
2154
2000
  'objects',
2155
2001
  'Reference'
2156
2002
  ] | ['document', 'objects', 'Header']>;
2157
- constructor(options: ResponseHeadersVisitorOptions);
2158
- ObjectElement(objectElement: ObjectElement): {};
2159
- }
2160
-
2161
- /**
2162
- * @public
2163
- */
2164
- export declare interface ResponseHeadersVisitorOptions extends MapVisitorOptions, VisitorOptions {
2003
+ constructor(options: BaseMapVisitorOptions);
2004
+ ObjectElement(path: Path<ObjectElement>): void;
2165
2005
  }
2166
2006
 
2167
2007
  /**
@@ -2175,35 +2015,23 @@ export declare class ResponseLinksElement extends ObjectElement {
2175
2015
  /**
2176
2016
  * @public
2177
2017
  */
2178
- export declare class ResponseLinksVisitor extends LinksVisitor_base_2 {
2018
+ export declare class ResponseLinksVisitor extends BaseMapVisitor {
2179
2019
  readonly element: ResponseLinksElement;
2180
2020
  protected readonly specPath: SpecPath<[
2181
2021
  'document',
2182
2022
  'objects',
2183
2023
  'Reference'
2184
2024
  ] | ['document', 'objects', 'Link']>;
2185
- constructor(options: ResponseLinksVisitorOptions);
2186
- ObjectElement(objectElement: ObjectElement): {};
2187
- }
2188
-
2189
- /**
2190
- * @public
2191
- */
2192
- export declare interface ResponseLinksVisitorOptions extends MapVisitorOptions, VisitorOptions {
2193
- }
2194
-
2195
- /**
2196
- * @public
2197
- */
2198
- export declare class ResponsesDefaultVisitor extends DefaultVisitor_base {
2199
- constructor(options: ResponsesDefaultVisitorOptions);
2200
- ObjectElement(objectElement: ObjectElement): {};
2025
+ constructor(options: BaseMapVisitorOptions);
2026
+ ObjectElement(path: Path<ObjectElement>): void;
2201
2027
  }
2202
2028
 
2203
2029
  /**
2204
2030
  * @public
2205
2031
  */
2206
- export declare interface ResponsesDefaultVisitorOptions extends AlternatingVisitorOptions, VisitorOptions {
2032
+ export declare class ResponsesDefaultVisitor extends BaseAlternatingVisitor {
2033
+ constructor(options: BaseAlternatingVisitorOptions);
2034
+ ObjectElement(path: Path<ObjectElement>): void;
2207
2035
  }
2208
2036
 
2209
2037
  /**
@@ -2218,7 +2046,7 @@ export declare class ResponsesElement extends ObjectElement {
2218
2046
  /**
2219
2047
  * @public
2220
2048
  */
2221
- export declare class ResponsesVisitor extends ResponsesVisitor_base_2 {
2049
+ export declare class ResponsesVisitor extends BaseMixedFieldsVisitor {
2222
2050
  readonly element: ResponsesElement;
2223
2051
  protected readonly specPathFixedFields: SpecPath<['document', 'objects', 'Responses']>;
2224
2052
  protected readonly canSupportSpecificationExtensions: true;
@@ -2227,43 +2055,25 @@ export declare class ResponsesVisitor extends ResponsesVisitor_base_2 {
2227
2055
  'objects',
2228
2056
  'Reference'
2229
2057
  ] | ['document', 'objects', 'Response']>;
2230
- constructor(options: ResponsesVisitorOptions);
2231
- ObjectElement(objectElement: ObjectElement): {};
2232
- }
2233
-
2234
- declare const ResponsesVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
2235
-
2236
- declare const ResponsesVisitor_base_2: Class<any[], MixedFieldsVisitor & FallbackVisitor, typeof MixedFieldsVisitor & typeof FallbackVisitor>;
2237
-
2238
- /**
2239
- * @public
2240
- */
2241
- export declare interface ResponsesVisitorOptions extends MixedFieldsVisitorOptions, VisitorOptions {
2058
+ constructor(options: BaseMixedFieldsVisitorOptions);
2059
+ ObjectElement(path: Path<ObjectElement>): void;
2242
2060
  }
2243
2061
 
2244
2062
  /**
2245
2063
  * @public
2246
2064
  */
2247
- export declare class ResponseVisitor extends ResponseVisitor_base {
2065
+ export declare class ResponseVisitor extends BaseFixedFieldsVisitor {
2248
2066
  readonly element: ResponseElement;
2249
2067
  protected readonly specPath: SpecPath<['document', 'objects', 'Response']>;
2250
- constructor(options: ResponseVisitorOptions);
2251
- ObjectElement(objectElement: ObjectElement): {};
2252
- }
2253
-
2254
- declare const ResponseVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
2255
-
2256
- /**
2257
- * @public
2258
- */
2259
- export declare interface ResponseVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
2068
+ constructor(options: BaseFixedFieldsVisitorOptions);
2069
+ ObjectElement(path: Path<ObjectElement>): void;
2260
2070
  }
2261
2071
 
2262
2072
  /**
2263
2073
  * @public
2264
2074
  */
2265
2075
  export declare class SchemaAllOfVisitor extends JSONSchemaAllOfVisitor {
2266
- ArrayElement(arrayElement: ArrayElement): {};
2076
+ ArrayElement(path: Path<ArrayElement>): void;
2267
2077
  }
2268
2078
 
2269
2079
  export { SchemaAllOfVisitorOptions }
@@ -2272,7 +2082,7 @@ export { SchemaAllOfVisitorOptions }
2272
2082
  * @public
2273
2083
  */
2274
2084
  export declare class SchemaAnyOfVisitor extends JSONSchemaAnyOfVisitor {
2275
- ArrayElement(arrayElement: ArrayElement): {};
2085
+ ArrayElement(path: Path<ArrayElement>): void;
2276
2086
  }
2277
2087
 
2278
2088
  export { SchemaAnyOfVisitorOptions }
@@ -2287,8 +2097,8 @@ export declare class SchemaElement extends JSONSchemaElement {
2287
2097
  *
2288
2098
  * URI: https://tools.ietf.org/html/draft-wright-json-schema-00
2289
2099
  */
2290
- get idProp(): StringElement | undefined;
2291
- set idProp(idProps: StringElement | undefined);
2100
+ get idField(): StringElement | undefined;
2101
+ set idField(idField: StringElement | undefined);
2292
2102
  get $schema(): StringElement | undefined;
2293
2103
  set $schema($schema: StringElement | undefined);
2294
2104
  /**
@@ -2296,8 +2106,8 @@ export declare class SchemaElement extends JSONSchemaElement {
2296
2106
  */
2297
2107
  get additionalItems(): this | ReferenceElement | BooleanElement | undefined;
2298
2108
  set additionalItems(additionalItems: this | ReferenceElement | BooleanElement | undefined);
2299
- get items(): this | ReferenceElement | undefined;
2300
- set items(items: this | ReferenceElement | undefined);
2109
+ get itemsField(): this | ReferenceElement | undefined;
2110
+ set itemsField(items: this | ReferenceElement | undefined);
2301
2111
  /**
2302
2112
  * Validation keywords for objects
2303
2113
  */
@@ -2323,8 +2133,8 @@ export declare class SchemaElement extends JSONSchemaElement {
2323
2133
  */
2324
2134
  get base(): StringElement | undefined;
2325
2135
  set base(base: StringElement | undefined);
2326
- get links(): ArrayElement | undefined;
2327
- set links(links: ArrayElement | undefined);
2136
+ get linksField(): ArrayElement<LinkDescriptionElement> | undefined;
2137
+ set linksField(links: ArrayElement<LinkDescriptionElement> | undefined);
2328
2138
  get media(): MediaElement | undefined;
2329
2139
  set media(media: MediaElement | undefined);
2330
2140
  /**
@@ -2350,8 +2160,8 @@ export declare class SchemaElement extends JSONSchemaElement {
2350
2160
  * @public
2351
2161
  */
2352
2162
  export declare class SchemaItemsVisitor extends JSONSchemaItemsVisitor {
2353
- ObjectElement(objectElement: ObjectElement): {};
2354
- ArrayElement(arrayElement: ArrayElement): {};
2163
+ ObjectElement(path: Path<ObjectElement>): void;
2164
+ ArrayElement(path: Path<ArrayElement>): void;
2355
2165
  }
2356
2166
 
2357
2167
  export { SchemaItemsVisitorOptions }
@@ -2360,7 +2170,7 @@ export { SchemaItemsVisitorOptions }
2360
2170
  * @public
2361
2171
  */
2362
2172
  export declare class SchemaOneOfVisitor extends JSONSchemaOneOfVisitor {
2363
- ArrayElement(arrayElement: ArrayElement): {};
2173
+ ArrayElement(path: Path<ArrayElement>): void;
2364
2174
  }
2365
2175
 
2366
2176
  export { SchemaOneOfVisitorOptions }
@@ -2370,7 +2180,7 @@ export { SchemaOneOfVisitorOptions }
2370
2180
  */
2371
2181
  export declare class SchemaOrReferenceVisitor extends JSONSchemaOrJSONReferenceVisitor {
2372
2182
  element: SchemaElement | JSONReferenceElement;
2373
- ObjectElement(objectElement: ObjectElement): {};
2183
+ ObjectElement(path: Path<ObjectElement>): void;
2374
2184
  }
2375
2185
 
2376
2186
  export { SchemaOrReferenceVisitorOptions }
@@ -2379,18 +2189,16 @@ export { SchemaOrReferenceVisitorOptions }
2379
2189
  * @public
2380
2190
  */
2381
2191
  export declare class SchemaPropertiesVisitor extends JSONSchemaPropertiesVisitor {
2382
- ObjectElement(objectElement: ObjectElement): {};
2192
+ ObjectElement(path: Path<ObjectElement>): void;
2383
2193
  }
2384
2194
 
2385
2195
  export { SchemaPropertiesVisitorOptions }
2386
2196
 
2387
- declare const SchemasVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
2388
-
2389
2197
  /**
2390
2198
  * @public
2391
2199
  */
2392
2200
  export declare class SchemaTypeVisitor extends JSONSchemaTypeVisitor {
2393
- ArrayElement(arrayElement: ArrayElement): {};
2201
+ ArrayElement(path: Path<ArrayElement>): void;
2394
2202
  }
2395
2203
 
2396
2204
  export { SchemaTypeVisitorOptions }
@@ -2398,29 +2206,13 @@ export { SchemaTypeVisitorOptions }
2398
2206
  /**
2399
2207
  * @public
2400
2208
  */
2401
- export declare class SchemaVisitor extends SchemaVisitor_base_4 {
2209
+ export declare class SchemaVisitor extends BaseFixedFieldsVisitor {
2402
2210
  readonly element: SchemaElement;
2403
2211
  protected readonly specPath: SpecPath<['document', 'objects', 'Schema']>;
2404
2212
  protected readonly canSupportSpecificationExtensions: true;
2405
- constructor(options: SchemaVisitorOptions);
2406
- }
2407
-
2408
- declare const SchemaVisitor_base: Class<any[], AlternatingVisitor & FallbackVisitor, typeof AlternatingVisitor & typeof FallbackVisitor>;
2409
-
2410
- declare const SchemaVisitor_base_2: Class<any[], AlternatingVisitor & FallbackVisitor, typeof AlternatingVisitor & typeof FallbackVisitor>;
2411
-
2412
- declare const SchemaVisitor_base_3: Class<any[], AlternatingVisitor & FallbackVisitor, typeof AlternatingVisitor & typeof FallbackVisitor>;
2413
-
2414
- declare const SchemaVisitor_base_4: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
2415
-
2416
- /**
2417
- * @public
2418
- */
2419
- export declare interface SchemaVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
2213
+ constructor(options: BaseFixedFieldsVisitorOptions);
2420
2214
  }
2421
2215
 
2422
- declare const ScopesVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
2423
-
2424
2216
  /**
2425
2217
  * @public
2426
2218
  */
@@ -2439,18 +2231,10 @@ export declare class SecurityRequirementElement extends ObjectElement {
2439
2231
  /**
2440
2232
  * @public
2441
2233
  */
2442
- export declare class SecurityRequirementVisitor extends SecurityRequirementVisitor_base {
2234
+ export declare class SecurityRequirementVisitor extends BaseMapVisitor {
2443
2235
  readonly element: SecurityRequirementElement;
2444
2236
  protected readonly specPath: SpecPath<['value']>;
2445
- constructor(options: SecurityRequirementVisitorOptions);
2446
- }
2447
-
2448
- declare const SecurityRequirementVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
2449
-
2450
- /**
2451
- * @public
2452
- */
2453
- export declare interface SecurityRequirementVisitorOptions extends MapVisitorOptions, VisitorOptions {
2237
+ constructor(options: BaseMapVisitorOptions);
2454
2238
  }
2455
2239
 
2456
2240
  /**
@@ -2476,43 +2260,23 @@ export declare class SecuritySchemeElement extends ObjectElement {
2476
2260
  set openIdConnectUrl(openIdConnectUrl: StringElement | undefined);
2477
2261
  }
2478
2262
 
2479
- declare const SecuritySchemesVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
2480
-
2481
2263
  /**
2482
2264
  * @public
2483
2265
  */
2484
- export declare class SecuritySchemeVisitor extends SecuritySchemeVisitor_base {
2266
+ export declare class SecuritySchemeVisitor extends BaseFixedFieldsVisitor {
2485
2267
  readonly element: SecuritySchemeElement;
2486
2268
  protected readonly specPath: SpecPath<['document', 'objects', 'SecurityScheme']>;
2487
2269
  protected readonly canSupportSpecificationExtensions: true;
2488
- constructor(options: SecuritySchemeVisitorOptions);
2489
- }
2490
-
2491
- declare const SecuritySchemeVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
2492
-
2493
- /**
2494
- * @public
2495
- */
2496
- export declare interface SecuritySchemeVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
2270
+ constructor(options: BaseFixedFieldsVisitorOptions);
2497
2271
  }
2498
2272
 
2499
2273
  /**
2500
2274
  * @public
2501
2275
  */
2502
- export declare class SecurityVisitor extends SecurityVisitor_base {
2276
+ export declare class SecurityVisitor extends BaseSpecificationVisitor {
2503
2277
  readonly element: SecurityElement;
2504
- constructor(options: SecurityVisitorOptions);
2505
- ArrayElement(arrayElement: ArrayElement): {};
2506
- }
2507
-
2508
- declare const SecurityVisitor_base: Class<any[], SpecificationVisitor & FallbackVisitor, typeof SpecificationVisitor & typeof FallbackVisitor>;
2509
-
2510
- declare const SecurityVisitor_base_2: Class<any[], SpecificationVisitor & FallbackVisitor, typeof SpecificationVisitor & typeof FallbackVisitor>;
2511
-
2512
- /**
2513
- * @public
2514
- */
2515
- export declare interface SecurityVisitorOptions extends SpecificationVisitorOptions, VisitorOptions {
2278
+ constructor(options: BaseSpecificationVisitorOptions);
2279
+ ArrayElement(path: Path<ArrayElement>): void;
2516
2280
  }
2517
2281
 
2518
2282
  /**
@@ -2539,22 +2303,11 @@ export declare class ServersElement extends ArrayElement {
2539
2303
  /**
2540
2304
  * @public
2541
2305
  */
2542
- export declare class ServersVisitor extends ServersVisitor_base {
2306
+ export declare class ServersVisitor extends BaseSpecificationVisitor {
2543
2307
  readonly element: ServersElement;
2544
- constructor(options: ServersVisitorOptions);
2545
- ArrayElement(arrayElement: ArrayElement): {};
2546
- }
2547
-
2548
- declare const ServersVisitor_base: Class<any[], SpecificationVisitor & FallbackVisitor, typeof SpecificationVisitor & typeof FallbackVisitor>;
2549
-
2550
- /**
2551
- * @public
2552
- */
2553
- declare interface ServersVisitorOptions extends SpecificationVisitorOptions, VisitorOptions {
2308
+ constructor(options: BaseSpecificationVisitorOptions);
2309
+ ArrayElement(path: Path<ArrayElement>): void;
2554
2310
  }
2555
- export { ServersVisitorOptions as OperationServersVisitorOptions }
2556
- export { ServersVisitorOptions as PathItemServersVisitorOptions }
2557
- export { ServersVisitorOptions }
2558
2311
 
2559
2312
  /**
2560
2313
  * @public
@@ -2582,58 +2335,36 @@ export declare class ServerVariablesElement extends ObjectElement {
2582
2335
  */
2583
2336
  export declare class ServerVariableUrlVisitor extends FallbackVisitor {
2584
2337
  readonly element: StringElement;
2585
- StringElement(stringElement: StringElement): {};
2338
+ StringElement(path: Path<StringElement>): void;
2586
2339
  }
2587
2340
 
2588
2341
  /**
2589
2342
  * @public
2590
2343
  */
2591
- export declare class ServerVariableVariablesVisitor extends VariablesVisitor_base {
2344
+ export declare class ServerVariableVariablesVisitor extends BaseMapVisitor {
2592
2345
  readonly element: ServerVariablesElement;
2593
2346
  protected readonly specPath: SpecPath<['document', 'objects', 'ServerVariable']>;
2594
- constructor(options: ServerVariableVariablesVisitorOptions);
2595
- }
2596
-
2597
- /**
2598
- * @public
2599
- */
2600
- export declare interface ServerVariableVariablesVisitorOptions extends MapVisitorOptions, VisitorOptions {
2347
+ constructor(options: BaseMapVisitorOptions);
2601
2348
  }
2602
2349
 
2603
2350
  /**
2604
2351
  * @public
2605
2352
  */
2606
- export declare class ServerVariableVisitor extends ServerVariableVisitor_base {
2353
+ export declare class ServerVariableVisitor extends BaseFixedFieldsVisitor {
2607
2354
  readonly element: ServerVariableElement;
2608
2355
  protected readonly specPath: SpecPath<['document', 'objects', 'ServerVariable']>;
2609
2356
  protected readonly canSupportSpecificationExtensions: true;
2610
- constructor(options: ServerVariableVisitorOptions);
2611
- }
2612
-
2613
- declare const ServerVariableVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
2614
-
2615
- /**
2616
- * @public
2617
- */
2618
- export declare interface ServerVariableVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
2357
+ constructor(options: BaseFixedFieldsVisitorOptions);
2619
2358
  }
2620
2359
 
2621
2360
  /**
2622
2361
  * @public
2623
2362
  */
2624
- export declare class ServerVisitor extends ServerVisitor_base {
2363
+ export declare class ServerVisitor extends BaseFixedFieldsVisitor {
2625
2364
  readonly element: ServerElement;
2626
2365
  protected readonly specPath: SpecPath<['document', 'objects', 'Server']>;
2627
2366
  protected readonly canSupportSpecificationExtensions: true;
2628
- constructor(options: ServerVisitorOptions);
2629
- }
2630
-
2631
- declare const ServerVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
2632
-
2633
- /**
2634
- * @public
2635
- */
2636
- export declare interface ServerVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
2367
+ constructor(options: BaseFixedFieldsVisitorOptions);
2637
2368
  }
2638
2369
 
2639
2370
  /**
@@ -2641,7 +2372,7 @@ export declare interface ServerVisitorOptions extends FixedFieldsVisitorOptions,
2641
2372
  */
2642
2373
  export declare class SpecificationExtensionVisitor extends SpecificationVisitor {
2643
2374
  element: MemberElement;
2644
- MemberElement(memberElement: MemberElement): {};
2375
+ MemberElement(path: Path<MemberElement>): void;
2645
2376
  }
2646
2377
 
2647
2378
  /**
@@ -2654,6 +2385,7 @@ export declare const specificationObj: {
2654
2385
  readonly objects: {
2655
2386
  readonly OpenApi: {
2656
2387
  readonly $visitor: typeof OpenApi3_0Visitor;
2388
+ readonly element: "openApi3_0";
2657
2389
  readonly fixedFields: {
2658
2390
  readonly openapi: typeof OpenapiVisitor;
2659
2391
  readonly info: {
@@ -2675,6 +2407,7 @@ export declare const specificationObj: {
2675
2407
  };
2676
2408
  readonly Info: {
2677
2409
  readonly $visitor: typeof InfoVisitor;
2410
+ readonly element: "info";
2678
2411
  readonly fixedFields: {
2679
2412
  readonly title: {
2680
2413
  readonly $ref: "#/visitors/value";
@@ -2696,6 +2429,7 @@ export declare const specificationObj: {
2696
2429
  };
2697
2430
  readonly Contact: {
2698
2431
  readonly $visitor: typeof ContactVisitor;
2432
+ readonly element: "contact";
2699
2433
  readonly fixedFields: {
2700
2434
  readonly name: {
2701
2435
  readonly $ref: "#/visitors/value";
@@ -2710,6 +2444,7 @@ export declare const specificationObj: {
2710
2444
  };
2711
2445
  readonly License: {
2712
2446
  readonly $visitor: typeof LicenseVisitor;
2447
+ readonly element: "license";
2713
2448
  readonly fixedFields: {
2714
2449
  readonly name: {
2715
2450
  readonly $ref: "#/visitors/value";
@@ -2721,6 +2456,7 @@ export declare const specificationObj: {
2721
2456
  };
2722
2457
  readonly Server: {
2723
2458
  readonly $visitor: typeof ServerVisitor;
2459
+ readonly element: "server";
2724
2460
  readonly fixedFields: {
2725
2461
  readonly url: typeof ServerVariableUrlVisitor;
2726
2462
  readonly description: {
@@ -2731,6 +2467,7 @@ export declare const specificationObj: {
2731
2467
  };
2732
2468
  readonly ServerVariable: {
2733
2469
  readonly $visitor: typeof ServerVariableVisitor;
2470
+ readonly element: "serverVariable";
2734
2471
  readonly fixedFields: {
2735
2472
  readonly enum: {
2736
2473
  readonly $ref: "#/visitors/value";
@@ -2745,6 +2482,7 @@ export declare const specificationObj: {
2745
2482
  };
2746
2483
  readonly Components: {
2747
2484
  readonly $visitor: typeof ComponentsVisitor;
2485
+ readonly element: "components";
2748
2486
  readonly fixedFields: {
2749
2487
  readonly schemas: typeof ComponentsSchemasVisitor;
2750
2488
  readonly responses: typeof ComponentsResponsesVisitor;
@@ -2753,15 +2491,20 @@ export declare const specificationObj: {
2753
2491
  readonly requestBodies: typeof ComponentsRequestBodiesVisitor;
2754
2492
  readonly headers: typeof ComponentsHeadersVisitor;
2755
2493
  readonly securitySchemes: typeof ComponentsSecuritySchemesVisitor;
2756
- readonly links: typeof ComponentsLinksVisitor;
2494
+ readonly links: {
2495
+ readonly $visitor: typeof ComponentsLinksVisitor;
2496
+ readonly alias: "linksField";
2497
+ };
2757
2498
  readonly callbacks: typeof ComponentsCallbacksVisitor;
2758
2499
  };
2759
2500
  };
2760
2501
  readonly Paths: {
2761
2502
  readonly $visitor: typeof PathsVisitor;
2503
+ readonly element: "paths";
2762
2504
  };
2763
2505
  readonly PathItem: {
2764
2506
  readonly $visitor: typeof PathItemVisitor;
2507
+ readonly element: "pathItem";
2765
2508
  readonly fixedFields: {
2766
2509
  readonly $ref: typeof PathItem$RefVisitor;
2767
2510
  readonly summary: {
@@ -2772,6 +2515,7 @@ export declare const specificationObj: {
2772
2515
  };
2773
2516
  readonly get: {
2774
2517
  readonly $ref: "#/visitors/document/objects/Operation";
2518
+ readonly alias: "getField";
2775
2519
  };
2776
2520
  readonly put: {
2777
2521
  readonly $ref: "#/visitors/document/objects/Operation";
@@ -2781,6 +2525,7 @@ export declare const specificationObj: {
2781
2525
  };
2782
2526
  readonly delete: {
2783
2527
  readonly $ref: "#/visitors/document/objects/Operation";
2528
+ readonly alias: "deleteField";
2784
2529
  };
2785
2530
  readonly options: {
2786
2531
  readonly $ref: "#/visitors/document/objects/Operation";
@@ -2800,6 +2545,7 @@ export declare const specificationObj: {
2800
2545
  };
2801
2546
  readonly Operation: {
2802
2547
  readonly $visitor: typeof OperationVisitor;
2548
+ readonly element: "operation";
2803
2549
  readonly fixedFields: {
2804
2550
  readonly tags: typeof OperationTagsVisitor;
2805
2551
  readonly summary: {
@@ -2829,6 +2575,7 @@ export declare const specificationObj: {
2829
2575
  };
2830
2576
  readonly ExternalDocumentation: {
2831
2577
  readonly $visitor: typeof ExternalDocumentationVisitor;
2578
+ readonly element: "externalDocumentation";
2832
2579
  readonly fixedFields: {
2833
2580
  readonly description: {
2834
2581
  readonly $ref: "#/visitors/value";
@@ -2840,6 +2587,7 @@ export declare const specificationObj: {
2840
2587
  };
2841
2588
  readonly Parameter: {
2842
2589
  readonly $visitor: typeof ParameterVisitor;
2590
+ readonly element: "parameter";
2843
2591
  readonly fixedFields: {
2844
2592
  readonly name: {
2845
2593
  readonly $ref: "#/visitors/value";
@@ -2873,16 +2621,23 @@ export declare const specificationObj: {
2873
2621
  readonly $ref: "#/visitors/value";
2874
2622
  };
2875
2623
  readonly examples: typeof ParameterExampleVisitor;
2876
- readonly content: typeof ParameterContentVisitor;
2624
+ readonly content: {
2625
+ readonly $visitor: typeof ParameterContentVisitor;
2626
+ readonly alias: "contentField";
2627
+ };
2877
2628
  };
2878
2629
  };
2879
2630
  readonly RequestBody: {
2880
2631
  readonly $visitor: typeof RequestBodyVisitor;
2632
+ readonly element: "requestBody";
2881
2633
  readonly fixedFields: {
2882
2634
  readonly description: {
2883
2635
  readonly $ref: "#/visitors/value";
2884
2636
  };
2885
- readonly content: typeof RequestBodyContentVisitor;
2637
+ readonly content: {
2638
+ readonly $visitor: typeof RequestBodyContentVisitor;
2639
+ readonly alias: "contentField";
2640
+ };
2886
2641
  readonly required: {
2887
2642
  readonly $ref: "#/visitors/value";
2888
2643
  };
@@ -2890,6 +2645,7 @@ export declare const specificationObj: {
2890
2645
  };
2891
2646
  readonly MediaType: {
2892
2647
  readonly $visitor: typeof MediaTypeVisitor;
2648
+ readonly element: "mediaType";
2893
2649
  readonly fixedFields: {
2894
2650
  readonly schema: typeof MediaTypeSchemaVisitor;
2895
2651
  readonly example: {
@@ -2901,6 +2657,7 @@ export declare const specificationObj: {
2901
2657
  };
2902
2658
  readonly Encoding: {
2903
2659
  readonly $visitor: typeof EncodingVisitor;
2660
+ readonly element: "encoding";
2904
2661
  readonly fixedFields: {
2905
2662
  readonly contentType: {
2906
2663
  readonly $ref: "#/visitors/value";
@@ -2919,26 +2676,36 @@ export declare const specificationObj: {
2919
2676
  };
2920
2677
  readonly Responses: {
2921
2678
  readonly $visitor: typeof ResponsesVisitor;
2679
+ readonly element: "responses";
2922
2680
  readonly fixedFields: {
2923
2681
  readonly default: typeof ResponsesDefaultVisitor;
2924
2682
  };
2925
2683
  };
2926
2684
  readonly Response: {
2927
2685
  readonly $visitor: typeof ResponseVisitor;
2686
+ readonly element: "response";
2928
2687
  readonly fixedFields: {
2929
2688
  readonly description: {
2930
2689
  readonly $ref: "#/visitors/value";
2931
2690
  };
2932
2691
  readonly headers: typeof ResponseHeadersVisitor;
2933
- readonly content: typeof ResponseContentVisitor;
2934
- readonly links: typeof ResponseLinksVisitor;
2692
+ readonly content: {
2693
+ readonly $visitor: typeof ResponseContentVisitor;
2694
+ readonly alias: "contentField";
2695
+ };
2696
+ readonly links: {
2697
+ readonly $visitor: typeof ResponseLinksVisitor;
2698
+ readonly alias: "linksField";
2699
+ };
2935
2700
  };
2936
2701
  };
2937
2702
  readonly Callback: {
2938
2703
  readonly $visitor: typeof CallbackVisitor;
2704
+ readonly element: "callback";
2939
2705
  };
2940
2706
  readonly Example: {
2941
2707
  readonly $visitor: typeof ExampleVisitor;
2708
+ readonly element: "example";
2942
2709
  readonly fixedFields: {
2943
2710
  readonly summary: {
2944
2711
  readonly $ref: "#/visitors/value";
@@ -2954,6 +2721,7 @@ export declare const specificationObj: {
2954
2721
  };
2955
2722
  readonly Link: {
2956
2723
  readonly $visitor: typeof LinkVisitor;
2724
+ readonly element: "link";
2957
2725
  readonly fixedFields: {
2958
2726
  readonly operationRef: typeof LinkOperationRefVisitor;
2959
2727
  readonly operationId: typeof LinkOperationIdVisitor;
@@ -2971,6 +2739,7 @@ export declare const specificationObj: {
2971
2739
  };
2972
2740
  readonly Header: {
2973
2741
  readonly $visitor: typeof HeaderVisitor;
2742
+ readonly element: "header";
2974
2743
  readonly fixedFields: {
2975
2744
  readonly description: {
2976
2745
  readonly $ref: "#/visitors/value";
@@ -2998,11 +2767,15 @@ export declare const specificationObj: {
2998
2767
  readonly $ref: "#/visitors/value";
2999
2768
  };
3000
2769
  readonly examples: typeof HeaderExamplesVisitor;
3001
- readonly content: typeof HeaderContentVisitor;
2770
+ readonly content: {
2771
+ readonly $visitor: typeof HeaderContentVisitor;
2772
+ readonly alias: "contentField";
2773
+ };
3002
2774
  };
3003
2775
  };
3004
2776
  readonly Tag: {
3005
2777
  readonly $visitor: typeof TagVisitor;
2778
+ readonly element: "tag";
3006
2779
  readonly fixedFields: {
3007
2780
  readonly name: {
3008
2781
  readonly $ref: "#/visitors/value";
@@ -3017,6 +2790,7 @@ export declare const specificationObj: {
3017
2790
  };
3018
2791
  readonly Reference: {
3019
2792
  readonly $visitor: typeof ReferenceVisitor;
2793
+ readonly element: "reference";
3020
2794
  readonly fixedFields: {
3021
2795
  readonly $ref: typeof Reference$RefVisitor;
3022
2796
  };
@@ -3029,6 +2803,7 @@ export declare const specificationObj: {
3029
2803
  };
3030
2804
  readonly Schema: {
3031
2805
  readonly $visitor: typeof SchemaVisitor;
2806
+ readonly element: "schema";
3032
2807
  readonly fixedFields: {
3033
2808
  readonly title: {
3034
2809
  $ref: string;
@@ -3079,7 +2854,10 @@ export declare const specificationObj: {
3079
2854
  readonly anyOf: typeof SchemaAnyOfVisitor;
3080
2855
  readonly oneOf: typeof SchemaOneOfVisitor;
3081
2856
  readonly not: typeof SchemaOrReferenceVisitor;
3082
- readonly items: typeof SchemaItemsVisitor;
2857
+ readonly items: {
2858
+ readonly $visitor: typeof SchemaItemsVisitor;
2859
+ readonly alias: "itemsField";
2860
+ };
3083
2861
  readonly properties: typeof SchemaPropertiesVisitor;
3084
2862
  readonly additionalProperties: typeof SchemaOrReferenceVisitor;
3085
2863
  readonly description: {
@@ -3116,6 +2894,7 @@ export declare const specificationObj: {
3116
2894
  };
3117
2895
  readonly Discriminator: {
3118
2896
  readonly $visitor: typeof DiscriminatorVisitor;
2897
+ readonly element: "discriminator";
3119
2898
  readonly fixedFields: {
3120
2899
  readonly propertyName: {
3121
2900
  readonly $ref: "#/visitors/value";
@@ -3125,6 +2904,7 @@ export declare const specificationObj: {
3125
2904
  };
3126
2905
  readonly XML: {
3127
2906
  readonly $visitor: typeof XmlVisitor;
2907
+ readonly element: "xml";
3128
2908
  readonly fixedFields: {
3129
2909
  readonly name: {
3130
2910
  readonly $ref: "#/visitors/value";
@@ -3145,6 +2925,7 @@ export declare const specificationObj: {
3145
2925
  };
3146
2926
  readonly SecurityScheme: {
3147
2927
  readonly $visitor: typeof SecuritySchemeVisitor;
2928
+ readonly element: "securityScheme";
3148
2929
  readonly fixedFields: {
3149
2930
  readonly type: {
3150
2931
  readonly $ref: "#/visitors/value";
@@ -3174,6 +2955,7 @@ export declare const specificationObj: {
3174
2955
  };
3175
2956
  readonly OAuthFlows: {
3176
2957
  readonly $visitor: typeof OAuthFlowsVisitor;
2958
+ readonly element: "oAuthFlows";
3177
2959
  readonly fixedFields: {
3178
2960
  readonly implicit: {
3179
2961
  readonly $ref: "#/visitors/document/objects/OAuthFlow";
@@ -3191,6 +2973,7 @@ export declare const specificationObj: {
3191
2973
  };
3192
2974
  readonly OAuthFlow: {
3193
2975
  readonly $visitor: typeof OAuthFlowVisitor;
2976
+ readonly element: "oAuthFlow";
3194
2977
  readonly fixedFields: {
3195
2978
  readonly authorizationUrl: {
3196
2979
  readonly $ref: "#/visitors/value";
@@ -3206,6 +2989,7 @@ export declare const specificationObj: {
3206
2989
  };
3207
2990
  readonly SecurityRequirement: {
3208
2991
  readonly $visitor: typeof SecurityRequirementVisitor;
2992
+ readonly element: "securityRequirement";
3209
2993
  };
3210
2994
  };
3211
2995
  readonly extension: {
@@ -3274,53 +3058,30 @@ export declare class TagsElement extends ArrayElement {
3274
3058
  /**
3275
3059
  * @public
3276
3060
  */
3277
- export declare class TagsVisitor extends TagsVisitor_base {
3061
+ export declare class TagsVisitor extends BaseSpecificationVisitor {
3278
3062
  readonly element: TagsElement;
3279
- constructor(options: TagsVisitorOptions);
3280
- ArrayElement(arrayElement: ArrayElement): {};
3281
- }
3282
-
3283
- declare const TagsVisitor_base: Class<any[], SpecificationVisitor & FallbackVisitor, typeof SpecificationVisitor & typeof FallbackVisitor>;
3284
-
3285
- /**
3286
- * @public
3287
- */
3288
- export declare interface TagsVisitorOptions extends SpecificationVisitorOptions, VisitorOptions {
3063
+ constructor(options: BaseSpecificationVisitorOptions);
3064
+ ArrayElement(path: Path<ArrayElement>): void;
3289
3065
  }
3290
3066
 
3291
3067
  /**
3292
3068
  * @public
3293
3069
  */
3294
- export declare class TagVisitor extends TagVisitor_base {
3070
+ export declare class TagVisitor extends BaseFixedFieldsVisitor {
3295
3071
  readonly element: TagElement;
3296
3072
  protected readonly specPath: SpecPath<['document', 'objects', 'Tag']>;
3297
3073
  protected readonly canSupportSpecificationExtensions: true;
3298
- constructor(options: TagVisitorOptions);
3074
+ constructor(options: BaseFixedFieldsVisitorOptions);
3299
3075
  }
3300
3076
 
3301
- declare const TagVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
3302
-
3303
3077
  /**
3304
3078
  * @public
3305
3079
  */
3306
- export declare interface TagVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
3080
+ export declare interface Toolbox {
3081
+ predicates: Record<string, (...args: any[]) => boolean>;
3082
+ namespace: Namespace;
3307
3083
  }
3308
3084
 
3309
- /**
3310
- * @public
3311
- */
3312
- export declare type ToolboxPredicates = typeof openApi3_0Predicates & {
3313
- isElement: typeof isElement;
3314
- isStringElement: typeof isStringElement;
3315
- isArrayElement: typeof isArrayElement;
3316
- isObjectElement: typeof isObjectElement;
3317
- isMemberElement: typeof isMemberElement;
3318
- includesClasses: typeof includesClasses;
3319
- hasElementSourceMap: typeof hasElementSourceMap;
3320
- };
3321
-
3322
- declare const VariablesVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
3323
-
3324
3085
  /**
3325
3086
  * @public
3326
3087
  */
@@ -3365,19 +3126,11 @@ export declare class XmlElement extends ObjectElement {
3365
3126
  /**
3366
3127
  * @public
3367
3128
  */
3368
- export declare class XmlVisitor extends XmlVisitor_base {
3129
+ export declare class XmlVisitor extends BaseFixedFieldsVisitor {
3369
3130
  readonly element: XmlElement;
3370
3131
  protected readonly specPath: SpecPath<['document', 'objects', 'XML']>;
3371
3132
  protected readonly canSupportSpecificationExtensions: true;
3372
- constructor(options: XmlVisitorOptions);
3373
- }
3374
-
3375
- declare const XmlVisitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
3376
-
3377
- /**
3378
- * @public
3379
- */
3380
- export declare interface XmlVisitorOptions extends FixedFieldsVisitorOptions, VisitorOptions {
3133
+ constructor(options: BaseFixedFieldsVisitorOptions);
3381
3134
  }
3382
3135
 
3383
3136
  export { }