@speclynx/apidom-ns-openapi-3-1 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 (70) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/NOTICE +16 -7
  3. package/README.md +16 -29
  4. package/dist/apidom-ns-openapi-3-1.browser.js +11148 -16196
  5. package/dist/apidom-ns-openapi-3-1.browser.min.js +1 -1
  6. package/package.json +11 -11
  7. package/src/elements/JsonSchemaDialect.cjs +2 -2
  8. package/src/elements/JsonSchemaDialect.mjs +1 -1
  9. package/src/elements/OpenApi3-1.cjs +2 -2
  10. package/src/elements/OpenApi3-1.mjs +1 -1
  11. package/src/elements/PathItem.cjs +24 -24
  12. package/src/elements/PathItem.mjs +24 -24
  13. package/src/elements/nces/ComponentsPathItems.cjs +2 -2
  14. package/src/elements/nces/ComponentsPathItems.mjs +1 -1
  15. package/src/elements/nces/Webhooks.cjs +2 -2
  16. package/src/elements/nces/Webhooks.mjs +1 -1
  17. package/src/index.cjs +73 -49
  18. package/src/index.mjs +6 -3
  19. package/src/namespace.cjs +0 -1
  20. package/src/predicates.cjs +56 -187
  21. package/src/predicates.mjs +29 -186
  22. package/src/refractor/index.cjs +338 -17
  23. package/src/refractor/index.mjs +305 -16
  24. package/src/refractor/inspect.cjs +207 -0
  25. package/src/refractor/inspect.mjs +171 -0
  26. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.cjs +5 -5
  27. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.mjs +1 -1
  28. package/src/refractor/plugins/normalize-header-examples/index.cjs +11 -7
  29. package/src/refractor/plugins/normalize-header-examples/index.mjs +8 -4
  30. package/src/refractor/plugins/normalize-operation-ids.cjs +13 -6
  31. package/src/refractor/plugins/normalize-operation-ids.mjs +13 -6
  32. package/src/refractor/plugins/normalize-parameter-examples.cjs +11 -7
  33. package/src/refractor/plugins/normalize-parameter-examples.mjs +8 -4
  34. package/src/refractor/plugins/normalize-parameters.cjs +11 -5
  35. package/src/refractor/plugins/normalize-parameters.mjs +11 -5
  36. package/src/refractor/plugins/normalize-security-requirements.cjs +8 -4
  37. package/src/refractor/plugins/normalize-security-requirements.mjs +8 -4
  38. package/src/refractor/plugins/normalize-servers.cjs +15 -9
  39. package/src/refractor/plugins/normalize-servers.mjs +15 -9
  40. package/src/refractor/plugins/replace-empty-element.cjs +32 -30
  41. package/src/refractor/plugins/replace-empty-element.mjs +16 -15
  42. package/src/refractor/predicates.cjs +36 -0
  43. package/src/refractor/predicates.mjs +31 -0
  44. package/src/refractor/specification.cjs +43 -4
  45. package/src/refractor/specification.mjs +43 -4
  46. package/src/refractor/toolbox.cjs +12 -21
  47. package/src/refractor/toolbox.mjs +9 -16
  48. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.cjs +5 -5
  49. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.mjs +6 -6
  50. package/src/refractor/visitors/open-api-3-1/OpenapiVisitor.cjs +25 -0
  51. package/src/refractor/visitors/open-api-3-1/OpenapiVisitor.mjs +19 -0
  52. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.cjs +4 -5
  53. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.mjs +5 -6
  54. package/src/refractor/visitors/open-api-3-1/bases.cjs +46 -0
  55. package/src/refractor/visitors/open-api-3-1/bases.mjs +43 -0
  56. package/src/refractor/visitors/open-api-3-1/callback/index.cjs +2 -3
  57. package/src/refractor/visitors/open-api-3-1/callback/index.mjs +2 -3
  58. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.cjs +4 -5
  59. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.mjs +5 -6
  60. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.cjs +2 -2
  61. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.mjs +3 -5
  62. package/src/refractor/visitors/open-api-3-1/index.cjs +5 -4
  63. package/src/refractor/visitors/open-api-3-1/index.mjs +6 -5
  64. package/src/refractor/visitors/open-api-3-1/schema/index.cjs +11 -10
  65. package/src/refractor/visitors/open-api-3-1/schema/index.mjs +12 -11
  66. package/types/apidom-ns-openapi-3-1.d.ts +435 -274
  67. package/src/refractor/registration.cjs +0 -102
  68. package/src/refractor/registration.mjs +0 -66
  69. package/src/traversal/visitor.cjs +0 -57
  70. package/src/traversal/visitor.mjs +0 -54
@@ -3,9 +3,9 @@ import { AllOfVisitor } from '@speclynx/apidom-ns-json-schema-2020-12';
3
3
  import { AlternatingVisitor } from '@speclynx/apidom-ns-openapi-3-0';
4
4
  import { AlternatingVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
5
5
  import { AnyOfVisitor } from '@speclynx/apidom-ns-json-schema-2020-12';
6
- import { ArrayElement } from '@speclynx/apidom-core';
7
- import { Attributes } from '@speclynx/apidom-core';
8
- import { BooleanElement } from '@speclynx/apidom-core';
6
+ import { ArrayElement } from '@speclynx/apidom-datamodel';
7
+ import { Attributes } from '@speclynx/apidom-datamodel';
8
+ import { BooleanElement } from '@speclynx/apidom-datamodel';
9
9
  import { CallbackElement as CallbackElement_2 } from '@speclynx/apidom-ns-openapi-3-0';
10
10
  import { CallbackVisitor as CallbackVisitor_2 } from '@speclynx/apidom-ns-openapi-3-0';
11
11
  import { CallbackVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
@@ -52,8 +52,7 @@ import { DiscriminatorMappingVisitor } from '@speclynx/apidom-ns-openapi-3-0';
52
52
  import { DiscriminatorMappingVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
53
53
  import { DiscriminatorVisitor as DiscriminatorVisitor_2 } from '@speclynx/apidom-ns-openapi-3-0';
54
54
  import { DiscriminatorVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
55
- import { Element as Element_2 } from '@speclynx/apidom-core';
56
- import type { ElementPredicate } from '@speclynx/apidom-core';
55
+ import { Element as Element_2 } from '@speclynx/apidom-datamodel';
57
56
  import { EncodingElement as EncodingElement_2 } from '@speclynx/apidom-ns-openapi-3-0';
58
57
  import { EncodingHeadersElement } from '@speclynx/apidom-ns-openapi-3-0';
59
58
  import { EncodingHeadersVisitor } from '@speclynx/apidom-ns-openapi-3-0';
@@ -72,10 +71,10 @@ import { ExternalDocumentationElement as ExternalDocumentationElement_2 } from '
72
71
  import { ExternalDocumentationVisitor as ExternalDocumentationVisitor_2 } from '@speclynx/apidom-ns-openapi-3-0';
73
72
  import { ExternalDocumentationVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
74
73
  import { FallbackVisitor } from '@speclynx/apidom-ns-openapi-3-0';
74
+ import { FallbackVisitor as FallbackVisitor_2 } from '@speclynx/apidom-ns-json-schema-draft-4';
75
75
  import { FallbackVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
76
76
  import { FixedFieldsVisitor } from '@speclynx/apidom-ns-openapi-3-0';
77
77
  import { FixedFieldsVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
78
- import { hasElementSourceMap } from '@speclynx/apidom-core';
79
78
  import { HeaderContentElement } from '@speclynx/apidom-ns-openapi-3-0';
80
79
  import { HeaderContentVisitor } from '@speclynx/apidom-ns-openapi-3-0';
81
80
  import { HeaderContentVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
@@ -87,26 +86,15 @@ import { HeaderSchemaVisitor } from '@speclynx/apidom-ns-openapi-3-0';
87
86
  import { HeaderSchemaVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
88
87
  import { HeaderVisitor as HeaderVisitor_2 } from '@speclynx/apidom-ns-openapi-3-0';
89
88
  import { HeaderVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
90
- import { includesClasses } from '@speclynx/apidom-core';
91
89
  import { InfoElement as InfoElement_2 } from '@speclynx/apidom-ns-openapi-3-0';
92
90
  import { InfoVersionVisitor } from '@speclynx/apidom-ns-openapi-3-0';
93
91
  import { InfoVersionVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
94
92
  import { InfoVisitor as InfoVisitor_2 } from '@speclynx/apidom-ns-openapi-3-0';
95
93
  import { InfoVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
96
- import { isArrayElement } from '@speclynx/apidom-core';
97
- import { isBooleanElement } from '@speclynx/apidom-core';
98
- import { isElement } from '@speclynx/apidom-core';
99
- import { isLinkElement as isLinkPrimitiveElement } from '@speclynx/apidom-core';
100
- import { isMemberElement } from '@speclynx/apidom-core';
101
- import { isNullElement } from '@speclynx/apidom-core';
102
- import { isNumberElement } from '@speclynx/apidom-core';
103
- import { isObjectElement } from '@speclynx/apidom-core';
104
94
  import { isOpenApiExtension } from '@speclynx/apidom-ns-openapi-3-0';
105
- import { isRefElement } from '@speclynx/apidom-core';
106
95
  import { isReferenceLikeElement } from '@speclynx/apidom-ns-openapi-3-0';
107
96
  import { isServerLikeElement } from '@speclynx/apidom-ns-openapi-3-0';
108
97
  import { isServersElement } from '@speclynx/apidom-ns-openapi-3-0';
109
- import { isStringElement } from '@speclynx/apidom-core';
110
98
  import { JSONSchemaElement } from '@speclynx/apidom-ns-json-schema-2020-12';
111
99
  import { LicenseElement as LicenseElement_2 } from '@speclynx/apidom-ns-openapi-3-0';
112
100
  import { LicenseVisitor as LicenseVisitor_2 } from '@speclynx/apidom-ns-openapi-3-0';
@@ -137,12 +125,11 @@ import { MediaTypeSchemaVisitor } from '@speclynx/apidom-ns-openapi-3-0';
137
125
  import { MediaTypeSchemaVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
138
126
  import { MediaTypeVisitor as MediaTypeVisitor_2 } from '@speclynx/apidom-ns-openapi-3-0';
139
127
  import { MediaTypeVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
140
- import { Meta } from '@speclynx/apidom-core';
128
+ import { Meta } from '@speclynx/apidom-datamodel';
141
129
  import { MixedFieldsVisitor } from '@speclynx/apidom-ns-openapi-3-0';
142
130
  import { MixedFieldsVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
143
- import { Namespace } from 'minim';
144
- import { Namespace as Namespace_2 } from '@speclynx/apidom-core';
145
- import { NamespacePluginOptions } from '@speclynx/apidom-core';
131
+ import { Namespace } from '@speclynx/apidom-datamodel';
132
+ import { NamespacePlugin } from '@speclynx/apidom-datamodel';
146
133
  import { OAuthFlowElement as OAuthFlowElement_2 } from '@speclynx/apidom-ns-openapi-3-0';
147
134
  import { OAuthFlowScopesElement } from '@speclynx/apidom-ns-openapi-3-0';
148
135
  import { OAuthFlowScopesVisitor } from '@speclynx/apidom-ns-openapi-3-0';
@@ -152,11 +139,9 @@ import { OAuthFlowsVisitor as OAuthFlowsVisitor_2 } from '@speclynx/apidom-ns-op
152
139
  import { OAuthFlowsVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
153
140
  import { OAuthFlowVisitor as OAuthFlowVisitor_2 } from '@speclynx/apidom-ns-openapi-3-0';
154
141
  import { OAuthFlowVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
155
- import { ObjectElement } from '@speclynx/apidom-core';
142
+ import { ObjectElement } from '@speclynx/apidom-datamodel';
156
143
  import { OneOfVisitor } from '@speclynx/apidom-ns-json-schema-2020-12';
157
144
  import { OpenapiElement as OpenapiElement_2 } from '@speclynx/apidom-ns-openapi-3-0';
158
- import { OpenapiVisitor } from '@speclynx/apidom-ns-openapi-3-0';
159
- import { OpenapiVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
160
145
  import { OperationCallbacksElement } from '@speclynx/apidom-ns-openapi-3-0';
161
146
  import { OperationCallbacksVisitor } from '@speclynx/apidom-ns-openapi-3-0';
162
147
  import { OperationCallbacksVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
@@ -192,6 +177,7 @@ import { ParameterVisitor as ParameterVisitor_2 } from '@speclynx/apidom-ns-open
192
177
  import { ParameterVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
193
178
  import { ParentSchemaAwareVisitor } from '@speclynx/apidom-ns-json-schema-2020-12';
194
179
  import { ParentSchemaAwareVisitorOptions } from '@speclynx/apidom-ns-json-schema-2020-12';
180
+ import { Path } from '@speclynx/apidom-traverse';
195
181
  import { PathItem$RefVisitor } from '@speclynx/apidom-ns-openapi-3-0';
196
182
  import { PathItem$RefVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
197
183
  import { PathItemElement as PathItemElement_2 } from '@speclynx/apidom-ns-openapi-3-0';
@@ -283,7 +269,7 @@ import { SpecificationExtensionVisitorOptions } from '@speclynx/apidom-ns-openap
283
269
  import { SpecificationVisitor } from '@speclynx/apidom-ns-openapi-3-0';
284
270
  import { SpecificationVisitorOptions } from '@speclynx/apidom-ns-openapi-3-0';
285
271
  import { SpecPath } from '@speclynx/apidom-ns-openapi-3-0';
286
- import { StringElement } from '@speclynx/apidom-core';
272
+ import { StringElement } from '@speclynx/apidom-datamodel';
287
273
  import { TagElement as TagElement_2 } from '@speclynx/apidom-ns-openapi-3-0';
288
274
  import { TagsElement } from '@speclynx/apidom-ns-openapi-3-0';
289
275
  import { TagsVisitor } from '@speclynx/apidom-ns-openapi-3-0';
@@ -347,6 +333,18 @@ export declare const BaseExampleVisitor: typeof ExampleVisitor_2;
347
333
  */
348
334
  export declare const BaseExternalDocumentationVisitor: typeof ExternalDocumentationVisitor_2;
349
335
 
336
+ /**
337
+ * Base class for visitors using Mixin(FixedFieldsVisitor, FallbackVisitor)
338
+ * @public
339
+ */
340
+ export declare const BaseFixedFieldsVisitor: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
341
+
342
+ /**
343
+ * @public
344
+ */
345
+ export declare interface BaseFixedFieldsVisitorOptions extends FixedFieldsVisitorOptions, FallbackVisitorOptions {
346
+ }
347
+
350
348
  /**
351
349
  * @public
352
350
  */
@@ -367,6 +365,18 @@ export declare const BaseLicenseVisitor: typeof LicenseVisitor_2;
367
365
  */
368
366
  export declare const BaseLinkVisitor: typeof LinkVisitor_2;
369
367
 
368
+ /**
369
+ * Base class for visitors using Mixin(MapVisitor, FallbackVisitor)
370
+ * @public
371
+ */
372
+ export declare const BaseMapVisitor: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
373
+
374
+ /**
375
+ * @public
376
+ */
377
+ export declare interface BaseMapVisitorOptions extends MapVisitorOptions, FallbackVisitorOptions {
378
+ }
379
+
370
380
  /**
371
381
  * @public
372
382
  */
@@ -422,6 +432,18 @@ export declare const BaseResponsesVisitor: typeof ResponsesVisitor_2;
422
432
  */
423
433
  export declare const BaseResponseVisitor: typeof ResponseVisitor_2;
424
434
 
435
+ /**
436
+ * Base class for visitors using Mixin(FixedFieldsVisitor, ParentSchemaAwareVisitor, FallbackVisitor)
437
+ * @public
438
+ */
439
+ export declare const BaseSchemaVisitor: Class<any[], FixedFieldsVisitor & ParentSchemaAwareVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof ParentSchemaAwareVisitor & typeof FallbackVisitor>;
440
+
441
+ /**
442
+ * @public
443
+ */
444
+ export declare interface BaseSchemaVisitorOptions extends FixedFieldsVisitorOptions, ParentSchemaAwareVisitorOptions, FallbackVisitorOptions {
445
+ }
446
+
425
447
  /**
426
448
  * @public
427
449
  */
@@ -442,6 +464,20 @@ export declare const BaseServerVariableVisitor: typeof ServerVariableVisitor_2;
442
464
  */
443
465
  export declare const BaseServerVisitor: typeof ServerVisitor_2;
444
466
 
467
+ /**
468
+ * Base class for visitors using Mixin(SpecificationVisitor, FallbackVisitor)
469
+ * @public
470
+ */
471
+ export declare const BaseSpecificationVisitor: Class<any[], SpecificationVisitor & FallbackVisitor, typeof SpecificationVisitor & typeof FallbackVisitor>;
472
+
473
+ /**
474
+ * @public
475
+ */
476
+ declare interface BaseSpecificationVisitorOptions extends SpecificationVisitorOptions, FallbackVisitorOptions {
477
+ }
478
+ export { BaseSpecificationVisitorOptions }
479
+ export { BaseSpecificationVisitorOptions as OpenapiVisitorOptions }
480
+
445
481
  /**
446
482
  * @public
447
483
  */
@@ -469,7 +505,7 @@ export declare class CallbackVisitor extends BaseCallbackVisitor {
469
505
  'Reference'
470
506
  ] | ['document', 'objects', 'PathItem']>;
471
507
  constructor(options: CallbackVisitorOptions);
472
- ObjectElement(objectElement: ObjectElement): {};
508
+ ObjectElement(path: Path<ObjectElement>): void;
473
509
  }
474
510
 
475
511
  export { CallbackVisitorOptions }
@@ -523,7 +559,7 @@ export declare class ComponentsPathItemsElement extends ObjectElement {
523
559
  /**
524
560
  * @public
525
561
  */
526
- export declare class ComponentsPathItemsVisitor extends PathItemsVisitor_base {
562
+ export declare class ComponentsPathItemsVisitor extends BaseMapVisitor {
527
563
  readonly element: ComponentsPathItemsElement;
528
564
  protected readonly specPath: SpecPath<[
529
565
  'document',
@@ -531,13 +567,13 @@ export declare class ComponentsPathItemsVisitor extends PathItemsVisitor_base {
531
567
  'Reference'
532
568
  ] | ['document', 'objects', 'PathItem']>;
533
569
  constructor(options: ComponentsPathItemsVisitorOptions);
534
- ObjectElement(objectElement: ObjectElement): {};
570
+ ObjectElement(path: Path<ObjectElement>): void;
535
571
  }
536
572
 
537
573
  /**
538
574
  * @public
539
575
  */
540
- export declare interface ComponentsPathItemsVisitorOptions extends MapVisitorOptions, FallbackVisitorOptions {
576
+ export declare interface ComponentsPathItemsVisitorOptions extends BaseMapVisitorOptions {
541
577
  }
542
578
 
543
579
  export { ComponentsRequestBodiesElement }
@@ -557,7 +593,7 @@ export { ComponentsSchemasElement }
557
593
  /**
558
594
  * @public
559
595
  */
560
- export declare class ComponentsSchemasVisitor extends SchemasVisitor_base {
596
+ export declare class ComponentsSchemasVisitor extends BaseMapVisitor {
561
597
  readonly element: ComponentsSchemasElement;
562
598
  protected readonly specPath: SpecPath<['document', 'objects', 'Schema']>;
563
599
  constructor(options: ComponentsSchemasVisitorOptions);
@@ -566,7 +602,7 @@ export declare class ComponentsSchemasVisitor extends SchemasVisitor_base {
566
602
  /**
567
603
  * @public
568
604
  */
569
- export declare interface ComponentsSchemasVisitorOptions extends MapVisitorOptions, FallbackVisitorOptions {
605
+ export declare interface ComponentsSchemasVisitorOptions extends BaseMapVisitorOptions {
570
606
  }
571
607
 
572
608
  export { ComponentsSecuritySchemesElement }
@@ -708,11 +744,6 @@ export { FixedFieldsVisitorOptions }
708
744
  */
709
745
  export declare type Format = 'generic' | 'json' | 'yaml';
710
746
 
711
- /**
712
- * @public
713
- */
714
- export declare const getNodeType: <T extends Element_2>(element: T) => string | undefined;
715
-
716
747
  export { HeaderContentElement }
717
748
 
718
749
  export { HeaderContentVisitor }
@@ -771,108 +802,87 @@ export declare class InfoVisitor extends BaseInfoVisitor {
771
802
 
772
803
  export { InfoVisitorOptions }
773
804
 
774
- export { isArrayElement }
775
-
776
- export { isBooleanElement }
777
-
778
- /**
779
- * @public
780
- */
781
- export declare const isBooleanJsonSchemaElement: ElementPredicate<BooleanElement>;
782
-
783
805
  /**
784
806
  * @public
785
807
  */
786
- export declare const isCallbackElement: ElementPredicate<CallbackElement>;
808
+ export declare const isBooleanJsonSchemaElement: (element: unknown) => element is BooleanElement;
787
809
 
788
810
  /**
789
811
  * @public
790
812
  */
791
- export declare const isComponentsElement: ElementPredicate<ComponentsElement>;
813
+ export declare const isCallbackElement: (element: unknown) => element is CallbackElement;
792
814
 
793
815
  /**
794
816
  * @public
795
817
  */
796
- export declare const isContactElement: ElementPredicate<ContactElement>;
797
-
798
- export { isElement }
818
+ export declare const isComponentsElement: (element: unknown) => element is ComponentsElement;
799
819
 
800
820
  /**
801
821
  * @public
802
822
  */
803
- export declare const isExampleElement: ElementPredicate<ExampleElement>;
823
+ export declare const isContactElement: (element: unknown) => element is ContactElement;
804
824
 
805
825
  /**
806
826
  * @public
807
827
  */
808
- export declare const isExternalDocumentationElement: ElementPredicate<ExternalDocumentationElement>;
828
+ export declare const isExampleElement: (element: unknown) => element is ExampleElement;
809
829
 
810
830
  /**
811
831
  * @public
812
832
  */
813
- declare const isHeaderElement: ElementPredicate<HeaderElement>;
833
+ export declare const isExternalDocumentationElement: (element: unknown) => element is ExternalDocumentationElement;
814
834
 
815
835
  /**
816
836
  * @public
817
837
  */
818
- export declare const isInfoElement: ElementPredicate<InfoElement>;
838
+ export declare const isInfoElement: (element: unknown) => element is InfoElement;
819
839
 
820
840
  /**
821
841
  * @public
822
842
  */
823
- export declare const isJsonSchemaDialectElement: ElementPredicate<JsonSchemaDialectElement>;
843
+ export declare const isJsonSchemaDialectElement: (element: unknown) => element is JsonSchemaDialectElement;
824
844
 
825
845
  /**
826
846
  * @public
827
847
  */
828
- export declare const isLicenseElement: ElementPredicate<LicenseElement>;
848
+ export declare const isLicenseElement: (element: unknown) => element is LicenseElement;
829
849
 
830
850
  /**
831
851
  * @public
832
852
  */
833
- export declare const isLinkElement: ElementPredicate<LinkElement>;
834
-
835
- export { isLinkPrimitiveElement }
853
+ export declare const isLinkElement: (element: unknown) => element is LinkElement;
836
854
 
837
855
  /**
838
856
  * @public
839
857
  */
840
- export declare const isMediaTypeElement: ElementPredicate<MediaTypeElement>;
841
-
842
- export { isMemberElement }
843
-
844
- export { isNullElement }
845
-
846
- export { isNumberElement }
847
-
848
- export { isObjectElement }
858
+ export declare const isMediaTypeElement: (element: unknown) => element is MediaTypeElement;
849
859
 
850
860
  /**
851
861
  * @public
852
862
  */
853
- export declare const isOpenApi3_1Element: ElementPredicate<OpenApi3_1Element>;
863
+ export declare const isOpenApi3_1Element: (element: unknown) => element is OpenApi3_1Element;
854
864
 
855
865
  /**
856
866
  * @public
857
867
  */
858
- export declare const isOpenapiElement: ElementPredicate<OpenapiElement>;
868
+ export declare const isOpenapiElement: (element: unknown) => element is OpenapiElement;
859
869
 
860
870
  export { isOpenApiExtension }
861
871
 
862
872
  /**
863
873
  * @public
864
874
  */
865
- export declare const isOperationElement: ElementPredicate<OperationElement>;
875
+ export declare const isOperationElement: (element: unknown) => element is OperationElement;
866
876
 
867
877
  /**
868
878
  * @public
869
879
  */
870
- export declare const isParameterElement: ElementPredicate<ParameterElement>;
880
+ export declare const isParameterElement: (element: unknown) => element is ParameterElement;
871
881
 
872
882
  /**
873
883
  * @public
874
884
  */
875
- export declare const isPathItemElement: ElementPredicate<PathItemElement>;
885
+ export declare const isPathItemElement: (element: unknown) => element is PathItemElement;
876
886
 
877
887
  /**
878
888
  * @deprecated
@@ -881,19 +891,17 @@ export declare const isPathItemElement: ElementPredicate<PathItemElement>;
881
891
  * using the referring document as the Base URI.
882
892
  * @public
883
893
  */
884
- export declare const isPathItemElementExternal: ElementPredicate<PathItemElement>;
894
+ export declare const isPathItemElementExternal: (element: unknown) => element is PathItemElement;
885
895
 
886
896
  /**
887
897
  * @public
888
898
  */
889
- export declare const isPathsElement: ElementPredicate<PathsElement>;
890
-
891
- export { isRefElement }
899
+ export declare const isPathsElement: (element: unknown) => element is PathsElement;
892
900
 
893
901
  /**
894
902
  * @public
895
903
  */
896
- export declare const isReferenceElement: ElementPredicate<ReferenceElement>;
904
+ export declare const isReferenceElement: (element: unknown) => element is ReferenceElement;
897
905
 
898
906
  /**
899
907
  * @deprecated
@@ -902,44 +910,44 @@ export declare const isReferenceElement: ElementPredicate<ReferenceElement>;
902
910
  * using the referring document as the Base URI.
903
911
  * @public
904
912
  */
905
- export declare const isReferenceElementExternal: ElementPredicate<ReferenceElement>;
913
+ export declare const isReferenceElementExternal: (element: unknown) => element is ReferenceElement;
906
914
 
907
915
  export { isReferenceLikeElement }
908
916
 
909
917
  /**
910
918
  * @public
911
919
  */
912
- export declare const isRequestBodyElement: ElementPredicate<RequestBodyElement>;
920
+ export declare const isRequestBodyElement: (element: unknown) => element is RequestBodyElement;
913
921
 
914
922
  /**
915
923
  * @public
916
924
  */
917
- export declare const isResponseElement: ElementPredicate<ResponseElement>;
925
+ export declare const isResponseElement: (element: unknown) => element is ResponseElement;
918
926
 
919
927
  /**
920
928
  * @public
921
929
  */
922
- export declare const isResponsesElement: ElementPredicate<ResponsesElement>;
930
+ export declare const isResponsesElement: (element: unknown) => element is ResponsesElement;
923
931
 
924
932
  /**
925
933
  * @public
926
934
  */
927
- export declare const isSchemaElement: ElementPredicate<SchemaElement>;
935
+ export declare const isSchemaElement: (element: unknown) => element is SchemaElement;
928
936
 
929
937
  /**
930
938
  * @public
931
939
  */
932
- export declare const isSecurityRequirementElement: ElementPredicate<SecurityRequirementElement>;
940
+ export declare const isSecurityRequirementElement: (element: unknown) => element is SecurityRequirementElement;
933
941
 
934
942
  /**
935
943
  * @public
936
944
  */
937
- export declare const isSecuritySchemeElement: ElementPredicate<SecuritySchemeElement>;
945
+ export declare const isSecuritySchemeElement: (element: unknown) => element is SecuritySchemeElement;
938
946
 
939
947
  /**
940
948
  * @public
941
949
  */
942
- export declare const isServerElement: ElementPredicate<ServerElement>;
950
+ export declare const isServerElement: (element: unknown) => element is ServerElement;
943
951
 
944
952
  export { isServerLikeElement }
945
953
 
@@ -948,9 +956,7 @@ export { isServersElement }
948
956
  /**
949
957
  * @public
950
958
  */
951
- export declare const isServerVariableElement: ElementPredicate<ServerVariableElement>;
952
-
953
- export { isStringElement }
959
+ export declare const isServerVariableElement: (element: unknown) => element is ServerVariableElement;
954
960
 
955
961
  /**
956
962
  * @public
@@ -963,73 +969,17 @@ export declare class JsonSchemaDialectElement extends StringElement {
963
969
  /**
964
970
  * @public
965
971
  */
966
- export declare class JsonSchemaDialectVisitor extends JsonSchemaDialectVisitor_base {
972
+ export declare class JsonSchemaDialectVisitor extends BaseSpecificationVisitor {
967
973
  element: JsonSchemaDialectElement;
968
- StringElement(stringElement: StringElement): {};
974
+ StringElement(path: Path<StringElement>): void;
969
975
  }
970
976
 
971
- declare const JsonSchemaDialectVisitor_base: Class<any[], SpecificationVisitor & FallbackVisitor, typeof SpecificationVisitor & typeof FallbackVisitor>;
972
-
973
977
  /**
974
978
  * @public
975
979
  */
976
- export declare interface JsonSchemaDialectVisitorOptions extends SpecificationVisitorOptions, FallbackVisitorOptions {
980
+ export declare interface JsonSchemaDialectVisitorOptions extends BaseSpecificationVisitorOptions {
977
981
  }
978
982
 
979
- /**
980
- * There are unfortunately two `LinkElement` types. One is from base namespace
981
- * and the other one if from this namespace. `LinkElement` from base namespace
982
- * is used extremely rarely so it's almost always safe during traversing
983
- * to assume that `LinkElement` is element from this namespace.
984
- *
985
- * To be 100% sure that currently visiting `LinkElement` is from this namespace
986
- * use `isLinkElement` predicate from this namespace to assert for it.
987
- * @public
988
- */
989
- export declare const keyMap: {
990
- ObjectElement: string[];
991
- ArrayElement: string[];
992
- MemberElement: string[];
993
- StringElement: never[];
994
- BooleanElement: never[];
995
- NumberElement: never[];
996
- NullElement: never[];
997
- RefElement: never[];
998
- LinkElement: never[];
999
- Annotation: never[];
1000
- Comment: never[];
1001
- ParseResultElement: string[];
1002
- SourceMap: string[];
1003
- CallbackElement: string[];
1004
- ComponentsElement: string[];
1005
- ContactElement: string[];
1006
- DiscriminatorElement: string[];
1007
- Encoding: string[];
1008
- Example: string[];
1009
- ExternalDocumentationElement: string[];
1010
- HeaderElement: string[];
1011
- InfoElement: string[];
1012
- LicenseElement: string[];
1013
- MediaTypeElement: string[];
1014
- OAuthFlowElement: string[];
1015
- OAuthFlowsElement: string[];
1016
- OpenApi3_1Element: string[];
1017
- OperationElement: string[];
1018
- ParameterElement: string[];
1019
- PathItemElement: string[];
1020
- PathsElement: string[];
1021
- ReferenceElement: string[];
1022
- RequestBodyElement: string[];
1023
- ResponseElement: string[];
1024
- ResponsesElement: string[];
1025
- SchemaElement: string[];
1026
- SecurityRequirementElement: string[];
1027
- SecuritySchemeElement: string[];
1028
- ServerElement: string[];
1029
- ServerVariableElement: string[];
1030
- TagElement: string[];
1031
- };
1032
-
1033
983
  /**
1034
984
  * @public
1035
985
  */
@@ -1166,9 +1116,7 @@ export { OAuthFlowVisitorOptions }
1166
1116
  /**
1167
1117
  * @public
1168
1118
  */
1169
- declare const openApi3_1: {
1170
- namespace: (options: NamespacePluginOptions) => Namespace;
1171
- };
1119
+ declare const openApi3_1: NamespacePlugin;
1172
1120
  export default openApi3_1;
1173
1121
 
1174
1122
  /**
@@ -1198,59 +1146,22 @@ export declare class OpenApi3_1Element extends ObjectElement {
1198
1146
  set webhooks(webhooks: ObjectElement | undefined);
1199
1147
  }
1200
1148
 
1201
- declare namespace openApi3_1Predicates {
1202
- export {
1203
- isCallbackElement,
1204
- isComponentsElement,
1205
- isContactElement,
1206
- isExampleElement,
1207
- isExternalDocumentationElement,
1208
- isHeaderElement,
1209
- isInfoElement,
1210
- isJsonSchemaDialectElement,
1211
- isLicenseElement,
1212
- isLinkElement,
1213
- isOpenapiElement,
1214
- isOpenApi3_1Element,
1215
- isOperationElement,
1216
- isParameterElement,
1217
- isPathItemElement,
1218
- isPathItemElementExternal,
1219
- isPathsElement,
1220
- isReferenceElement,
1221
- isReferenceElementExternal,
1222
- isRequestBodyElement,
1223
- isResponseElement,
1224
- isResponsesElement,
1225
- isSchemaElement,
1226
- isBooleanJsonSchemaElement,
1227
- isSecurityRequirementElement,
1228
- isSecuritySchemeElement,
1229
- isServerElement,
1230
- isServerVariableElement,
1231
- isMediaTypeElement
1232
- }
1233
- }
1234
- export { openApi3_1Predicates }
1235
-
1236
- /**
1237
- * @public
1238
- */
1239
- export declare class OpenApi3_1Visitor extends OpenApi3_1Visitor_base {
1149
+ /**
1150
+ * @public
1151
+ */
1152
+ export declare class OpenApi3_1Visitor extends BaseFixedFieldsVisitor {
1240
1153
  readonly element: OpenApi3_1Element;
1241
1154
  protected readonly specPath: SpecPath<['document', 'objects', 'OpenApi']>;
1242
1155
  protected readonly canSupportSpecificationExtensions: true;
1243
1156
  protected readonly openApiSemanticElement: OpenApi3_1Element;
1244
1157
  constructor(options: OpenApi3_1VisitorOptions);
1245
- ObjectElement(objectElement: ObjectElement): {};
1158
+ ObjectElement(path: Path<ObjectElement>): void;
1246
1159
  }
1247
1160
 
1248
- declare const OpenApi3_1Visitor_base: Class<any[], FixedFieldsVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof FallbackVisitor>;
1249
-
1250
1161
  /**
1251
1162
  * @public
1252
1163
  */
1253
- export declare interface OpenApi3_1VisitorOptions extends FixedFieldsVisitorOptions, FallbackVisitorOptions {
1164
+ export declare interface OpenApi3_1VisitorOptions extends BaseFixedFieldsVisitorOptions {
1254
1165
  }
1255
1166
 
1256
1167
  /**
@@ -1268,9 +1179,13 @@ export declare class OpenAPIMediaTypes extends MediaTypes<string> {
1268
1179
  latest(format?: Format): string;
1269
1180
  }
1270
1181
 
1271
- export { OpenapiVisitor }
1272
-
1273
- export { OpenapiVisitorOptions }
1182
+ /**
1183
+ * @public
1184
+ */
1185
+ export declare class OpenapiVisitor extends BaseSpecificationVisitor {
1186
+ element: OpenapiElement;
1187
+ StringElement(path: Path<StringElement>): void;
1188
+ }
1274
1189
 
1275
1190
  export { OperationCallbacksElement }
1276
1191
 
@@ -1372,22 +1287,22 @@ export { PathItem$RefVisitorOptions }
1372
1287
  * @public
1373
1288
  */
1374
1289
  export declare class PathItemElement extends PathItemElement_2 {
1375
- get GET(): OperationElement;
1376
- set GET(operation: OperationElement | undefined);
1377
- get PUT(): OperationElement;
1378
- set PUT(operation: OperationElement | undefined);
1379
- get POST(): OperationElement;
1380
- set POST(operation: OperationElement | undefined);
1381
- get DELETE(): OperationElement;
1382
- set DELETE(operation: OperationElement | undefined);
1383
- get OPTIONS(): OperationElement;
1384
- set OPTIONS(operation: OperationElement | undefined);
1385
- get HEAD(): OperationElement;
1386
- set HEAD(operation: OperationElement | undefined);
1387
- get PATCH(): OperationElement;
1388
- set PATCH(operation: OperationElement | undefined);
1389
- get TRACE(): OperationElement;
1390
- set TRACE(operation: OperationElement | undefined);
1290
+ get getField(): OperationElement | undefined;
1291
+ set getField(operation: OperationElement | undefined);
1292
+ get put(): OperationElement | undefined;
1293
+ set put(operation: OperationElement | undefined);
1294
+ get post(): OperationElement | undefined;
1295
+ set post(operation: OperationElement | undefined);
1296
+ get deleteField(): OperationElement | undefined;
1297
+ set deleteField(operation: OperationElement | undefined);
1298
+ get options(): OperationElement | undefined;
1299
+ set options(operation: OperationElement | undefined);
1300
+ get head(): OperationElement | undefined;
1301
+ set head(operation: OperationElement | undefined);
1302
+ get patch(): OperationElement | undefined;
1303
+ set patch(operation: OperationElement | undefined);
1304
+ get trace(): OperationElement | undefined;
1305
+ set trace(operation: OperationElement | undefined);
1391
1306
  }
1392
1307
 
1393
1308
  export { PathItemParametersElement }
@@ -1402,8 +1317,6 @@ export { PathItemServersVisitor }
1402
1317
 
1403
1318
  export { PathItemServersVisitorOptions }
1404
1319
 
1405
- declare const PathItemsVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
1406
-
1407
1320
  /**
1408
1321
  * @public
1409
1322
  */
@@ -1454,17 +1367,142 @@ export declare class ReferenceVisitor extends BaseReferenceVisitor {
1454
1367
 
1455
1368
  export { ReferenceVisitorOptions }
1456
1369
 
1370
+ /**
1371
+ * @public
1372
+ */
1373
+ export declare const refract: <T extends Element_2>(value: unknown, { element, plugins, specificationObj }?: RefractorOptions) => T;
1374
+
1375
+ /**
1376
+ * Refracts a value into a CallbackElement.
1377
+ * @public
1378
+ */
1379
+ export declare const refractCallback: <T extends Element_2 = CallbackElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1380
+
1381
+ /**
1382
+ * Refracts a value into a ComponentsElement.
1383
+ * @public
1384
+ */
1385
+ export declare const refractComponents: <T extends Element_2 = ComponentsElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1386
+
1387
+ /**
1388
+ * Refracts a value into a ContactElement.
1389
+ * @public
1390
+ */
1391
+ export declare const refractContact: <T extends Element_2 = ContactElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1392
+
1393
+ /**
1394
+ * Refracts a value into a DiscriminatorElement.
1395
+ * @public
1396
+ */
1397
+ export declare const refractDiscriminator: <T extends Element_2 = DiscriminatorElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1398
+
1399
+ /**
1400
+ * Refracts a value into an EncodingElement.
1401
+ * @public
1402
+ */
1403
+ export declare const refractEncoding: <T extends Element_2 = EncodingElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1404
+
1405
+ /**
1406
+ * Refracts a value into an ExampleElement.
1407
+ * @public
1408
+ */
1409
+ export declare const refractExample: <T extends Element_2 = ExampleElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1410
+
1411
+ /**
1412
+ * Refracts a value into an ExternalDocumentationElement.
1413
+ * @public
1414
+ */
1415
+ export declare const refractExternalDocumentation: <T extends Element_2 = ExternalDocumentationElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1416
+
1417
+ /**
1418
+ * Refracts a value into a HeaderElement.
1419
+ * @public
1420
+ */
1421
+ export declare const refractHeader: <T extends Element_2 = HeaderElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1422
+
1423
+ /**
1424
+ * Refracts a value into an InfoElement.
1425
+ * @public
1426
+ */
1427
+ export declare const refractInfo: <T extends Element_2 = InfoElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1428
+
1429
+ /**
1430
+ * Refracts a value into a JsonSchemaDialectElement.
1431
+ * @public
1432
+ */
1433
+ export declare const refractJsonSchemaDialect: <T extends Element_2 = JsonSchemaDialectElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1434
+
1435
+ /**
1436
+ * Refracts a value into a LicenseElement.
1437
+ * @public
1438
+ */
1439
+ export declare const refractLicense: <T extends Element_2 = LicenseElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1440
+
1441
+ /**
1442
+ * Refracts a value into a LinkElement.
1443
+ * @public
1444
+ */
1445
+ export declare const refractLink: <T extends Element_2 = LinkElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1446
+
1447
+ /**
1448
+ * Refracts a value into a MediaTypeElement.
1449
+ * @public
1450
+ */
1451
+ export declare const refractMediaType: <T extends Element_2 = MediaTypeElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1452
+
1453
+ /**
1454
+ * Refracts a value into an OAuthFlowElement.
1455
+ * @public
1456
+ */
1457
+ export declare const refractOAuthFlow: <T extends Element_2 = OAuthFlowElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1458
+
1459
+ /**
1460
+ * Refracts a value into an OAuthFlowsElement.
1461
+ * @public
1462
+ */
1463
+ export declare const refractOAuthFlows: <T extends Element_2 = OAuthFlowsElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1464
+
1465
+ /**
1466
+ * Refracts a value into an OpenApi3_1Element.
1467
+ * @public
1468
+ */
1469
+ export declare const refractOpenApi3_1: <T extends Element_2 = OpenApi3_1Element>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1470
+
1471
+ /**
1472
+ * Refracts a value into an OperationElement.
1473
+ * @public
1474
+ */
1475
+ export declare const refractOperation: <T extends Element_2 = OperationElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1476
+
1477
+ /**
1478
+ * @public
1479
+ */
1480
+ export declare interface RefractorOptions {
1481
+ readonly element?: string;
1482
+ readonly plugins?: RefractorPlugin[];
1483
+ readonly specificationObj?: typeof specificationObj;
1484
+ }
1485
+
1486
+ /**
1487
+ * @public
1488
+ */
1489
+ export declare type RefractorPlugin = (toolbox: Toolbox) => {
1490
+ visitor?: object;
1491
+ pre?: () => void;
1492
+ post?: () => void;
1493
+ };
1494
+
1457
1495
  /**
1458
1496
  * @public
1459
1497
  */
1460
1498
  export declare const refractorPluginNormalizeHeaderExamples: ({ storageField }?: RefractorPluginNormalizeHeaderExamplesOptions) => (toolbox: Toolbox) => {
1461
1499
  visitor: {
1462
1500
  OpenApi3_1Element: {
1463
- enter(element: OpenApi3_1Element): void;
1501
+ enter(path: Path<OpenApi3_1Element>): void;
1464
1502
  leave(): void;
1465
1503
  };
1466
1504
  HeaderElement: {
1467
- leave(headerElement: HeaderElement, key: string | number, parent: Element_2 | undefined, path: (string | number)[], ancestors: [Element_2 | Element_2[]]): void;
1505
+ leave(path: Path<HeaderElement>): void;
1468
1506
  };
1469
1507
  };
1470
1508
  };
@@ -1494,18 +1532,18 @@ export declare interface RefractorPluginNormalizeHeaderExamplesOptions {
1494
1532
  export declare const refractorPluginNormalizeOperationIds: ({ storageField, operationIdNormalizer, }?: RefractorPluginNormalizeOperationIdsOptions) => (toolbox: Toolbox) => {
1495
1533
  visitor: {
1496
1534
  OpenApi3_1Element: {
1497
- enter(element: OpenApi3_1Element): void;
1535
+ enter(path: Path<OpenApi3_1Element>): void;
1498
1536
  leave(): void;
1499
1537
  };
1500
1538
  PathItemElement: {
1501
- enter(pathItemElement: PathItemElement): void;
1539
+ enter(path: Path<PathItemElement>): void;
1502
1540
  leave(): void;
1503
1541
  };
1504
1542
  OperationElement: {
1505
- enter(operationElement: OperationElement, key: string | number, parent: Element_2 | undefined, path: (string | number)[], ancestors: [Element_2 | Element_2[]]): void;
1543
+ enter(path: Path<OperationElement>): void;
1506
1544
  };
1507
1545
  LinkElement: {
1508
- leave(linkElement: LinkElement): void;
1546
+ leave(path: Path<LinkElement>): void;
1509
1547
  };
1510
1548
  };
1511
1549
  };
@@ -1538,11 +1576,11 @@ export declare interface RefractorPluginNormalizeOperationIdsOptions {
1538
1576
  export declare const refractorPluginNormalizeParameterExamples: ({ storageField }?: RefractorPluginNormalizeParameterExamplesOptions) => (toolbox: Toolbox) => {
1539
1577
  visitor: {
1540
1578
  OpenApi3_1Element: {
1541
- enter(element: OpenApi3_1Element): void;
1579
+ enter(path: Path<OpenApi3_1Element>): void;
1542
1580
  leave(): void;
1543
1581
  };
1544
1582
  ParameterElement: {
1545
- leave(parameterElement: ParameterElement, key: string | number, parent: Element_2 | undefined, path: (string | number)[], ancestors: [Element_2 | Element_2[]]): void;
1583
+ leave(path: Path<ParameterElement>): void;
1546
1584
  };
1547
1585
  };
1548
1586
  };
@@ -1572,15 +1610,15 @@ export declare interface RefractorPluginNormalizeParameterExamplesOptions {
1572
1610
  export declare const refractorPluginNormalizeParameters: ({ storageField }?: RefractorPluginNormalizeParametersOptions) => (toolbox: Toolbox) => {
1573
1611
  visitor: {
1574
1612
  OpenApi3_1Element: {
1575
- enter(element: OpenApi3_1Element): void;
1613
+ enter(path: Path<OpenApi3_1Element>): void;
1576
1614
  leave(): void;
1577
1615
  };
1578
1616
  PathItemElement: {
1579
- enter(pathItemElement: PathItemElement, key: string | number, parent: Element_2 | undefined, path: (string | number)[], ancestors: [Element_2 | Element_2[]]): void;
1617
+ enter(path: Path<PathItemElement>): void;
1580
1618
  leave(): void;
1581
1619
  };
1582
1620
  OperationElement: {
1583
- leave(operationElement: OperationElement, key: string | number, parent: Element_2 | undefined, path: (string | number)[], ancestors: [Element_2 | Element_2[]]): void;
1621
+ leave(path: Path<OperationElement>): void;
1584
1622
  };
1585
1623
  };
1586
1624
  };
@@ -1607,11 +1645,11 @@ export declare interface RefractorPluginNormalizeParametersOptions {
1607
1645
  export declare const refractorPluginNormalizeSecurityRequirements: ({ storageField }?: RefractorPluginNormalizeSecurityRequirementsOptions) => (toolbox: Toolbox) => {
1608
1646
  visitor: {
1609
1647
  OpenApi3_1Element: {
1610
- enter(openapiElement: OpenApi3_1Element): void;
1648
+ enter(path: Path<OpenApi3_1Element>): void;
1611
1649
  leave(): void;
1612
1650
  };
1613
1651
  OperationElement: {
1614
- leave(operationElement: OperationElement, key: string | number, parent: Element_2 | undefined, path: (string | number)[], ancestors: [Element_2 | Element_2[]]): void;
1652
+ leave(path: Path<OperationElement>): void;
1615
1653
  };
1616
1654
  };
1617
1655
  };
@@ -1639,11 +1677,11 @@ export declare interface RefractorPluginNormalizeSecurityRequirementsOptions {
1639
1677
  export declare const refractorPluginNormalizeServers: ({ storageField }?: RefractorPluginNormalizeServersOptions) => (toolbox: Toolbox) => {
1640
1678
  visitor: {
1641
1679
  OpenApi3_1Element: {
1642
- enter(openapiElement: OpenApi3_1Element): void;
1680
+ enter(path: Path<OpenApi3_1Element>): void;
1643
1681
  leave(): void;
1644
1682
  };
1645
- PathItemElement(pathItemElement: PathItemElement, key: string | number, parent: Element_2 | undefined, path: (string | number)[], ancestors: [Element_2 | Element_2[]]): void;
1646
- OperationElement(operationElement: OperationElement, key: string | number, parent: Element_2 | undefined, path: (string | number)[], ancestors: [Element_2 | Element_2[]]): void;
1683
+ PathItemElement(path: Path<PathItemElement>): void;
1684
+ OperationElement(path: Path<OperationElement>): void;
1647
1685
  };
1648
1686
  };
1649
1687
 
@@ -1667,14 +1705,96 @@ export declare interface RefractorPluginNormalizeServersOptions {
1667
1705
  /**
1668
1706
  * @public
1669
1707
  */
1670
- export declare const refractorPluginReplaceEmptyElement: () => ({ predicates }: {
1671
- predicates: ToolboxPredicates;
1672
- }) => {
1708
+ export declare const refractorPluginReplaceEmptyElement: () => () => {
1673
1709
  visitor: {
1674
- StringElement(element: StringElement, key: any, parent: any, path: any, ancestors: any[]): any;
1710
+ StringElement(path: Path<StringElement>): void;
1675
1711
  };
1676
1712
  };
1677
1713
 
1714
+ /**
1715
+ * Refracts a value into a ParameterElement.
1716
+ * @public
1717
+ */
1718
+ export declare const refractParameter: <T extends Element_2 = ParameterElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1719
+
1720
+ /**
1721
+ * Refracts a value into a PathItemElement.
1722
+ * @public
1723
+ */
1724
+ export declare const refractPathItem: <T extends Element_2 = PathItemElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1725
+
1726
+ /**
1727
+ * Refracts a value into a PathsElement.
1728
+ * @public
1729
+ */
1730
+ export declare const refractPaths: <T extends Element_2 = PathsElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1731
+
1732
+ /**
1733
+ * Refracts a value into a ReferenceElement.
1734
+ * @public
1735
+ */
1736
+ export declare const refractReference: <T extends Element_2 = ReferenceElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1737
+
1738
+ /**
1739
+ * Refracts a value into a RequestBodyElement.
1740
+ * @public
1741
+ */
1742
+ export declare const refractRequestBody: <T extends Element_2 = RequestBodyElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1743
+
1744
+ /**
1745
+ * Refracts a value into a ResponseElement.
1746
+ * @public
1747
+ */
1748
+ export declare const refractResponse: <T extends Element_2 = ResponseElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1749
+
1750
+ /**
1751
+ * Refracts a value into a ResponsesElement.
1752
+ * @public
1753
+ */
1754
+ export declare const refractResponses: <T extends Element_2 = ResponsesElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1755
+
1756
+ /**
1757
+ * Refracts a value into a SchemaElement.
1758
+ * @public
1759
+ */
1760
+ export declare const refractSchema: <T extends Element_2 = SchemaElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1761
+
1762
+ /**
1763
+ * Refracts a value into a SecurityRequirementElement.
1764
+ * @public
1765
+ */
1766
+ export declare const refractSecurityRequirement: <T extends Element_2 = SecurityRequirementElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1767
+
1768
+ /**
1769
+ * Refracts a value into a SecuritySchemeElement.
1770
+ * @public
1771
+ */
1772
+ export declare const refractSecurityScheme: <T extends Element_2 = SecuritySchemeElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1773
+
1774
+ /**
1775
+ * Refracts a value into a ServerElement.
1776
+ * @public
1777
+ */
1778
+ export declare const refractServer: <T extends Element_2 = ServerElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1779
+
1780
+ /**
1781
+ * Refracts a value into a ServerVariableElement.
1782
+ * @public
1783
+ */
1784
+ export declare const refractServerVariable: <T extends Element_2 = ServerVariableElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1785
+
1786
+ /**
1787
+ * Refracts a value into a TagElement.
1788
+ * @public
1789
+ */
1790
+ export declare const refractTag: <T extends Element_2 = TagElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1791
+
1792
+ /**
1793
+ * Refracts a value into an XmlElement.
1794
+ * @public
1795
+ */
1796
+ export declare const refractXml: <T extends Element_2 = XmlElement>(value: unknown, options?: Omit<RefractorOptions, "element">) => T;
1797
+
1678
1798
  export { RequestBodyContentElement }
1679
1799
 
1680
1800
  export { RequestBodyContentVisitor }
@@ -1858,17 +1978,15 @@ export declare class SchemaPropertiesVisitor extends PropertiesVisitor {
1858
1978
 
1859
1979
  export { SchemaPropertiesVisitorOptions }
1860
1980
 
1861
- declare const SchemasVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
1862
-
1863
1981
  /**
1864
1982
  * @public
1865
1983
  */
1866
- export declare class SchemaVisitor extends SchemaVisitor_base {
1984
+ export declare class SchemaVisitor extends BaseSchemaVisitor {
1867
1985
  readonly element: SchemaElement;
1868
1986
  protected readonly jsonSchemaDefaultDialect: JsonSchemaDialectElement;
1869
1987
  constructor(options: SchemaVisitorOptions);
1870
- ObjectElement(objectElement: ObjectElement): {};
1871
- BooleanElement(booleanElement: BooleanElement): {};
1988
+ ObjectElement(path: Path<ObjectElement>): void;
1989
+ BooleanElement(path: Path<BooleanElement>): void;
1872
1990
  /**
1873
1991
  * This function depends on some external context, so we need to make sure this function
1874
1992
  * works even when no context is provided like when directly refracting generic Object Element
@@ -1879,12 +1997,10 @@ export declare class SchemaVisitor extends SchemaVisitor_base {
1879
1997
  handleSchemaIdentifier(objectElement: ObjectElement): void;
1880
1998
  }
1881
1999
 
1882
- declare const SchemaVisitor_base: Class<any[], FixedFieldsVisitor & ParentSchemaAwareVisitor & FallbackVisitor, typeof FixedFieldsVisitor & typeof ParentSchemaAwareVisitor & typeof FallbackVisitor>;
1883
-
1884
2000
  /**
1885
2001
  * @public
1886
2002
  */
1887
- export declare interface SchemaVisitorOptions extends FixedFieldsVisitorOptions, ParentSchemaAwareVisitorOptions, FallbackVisitorOptions {
2003
+ export declare interface SchemaVisitorOptions extends BaseSchemaVisitorOptions {
1888
2004
  }
1889
2005
 
1890
2006
  export { SecurityElement }
@@ -1992,13 +2108,20 @@ export declare const specificationObj: {
1992
2108
  readonly document: {
1993
2109
  readonly objects: {
1994
2110
  readonly OpenApi: {
2111
+ readonly element: "openApi3_1";
1995
2112
  readonly $visitor: typeof OpenApi3_1Visitor;
1996
2113
  readonly fixedFields: {
1997
- readonly openapi: OpenapiVisitor;
2114
+ readonly openapi: {
2115
+ readonly element: "openapi";
2116
+ readonly $visitor: typeof OpenapiVisitor;
2117
+ };
1998
2118
  readonly info: {
1999
2119
  readonly $ref: "#/visitors/document/objects/Info";
2000
2120
  };
2001
- readonly jsonSchemaDialect: typeof JsonSchemaDialectVisitor;
2121
+ readonly jsonSchemaDialect: {
2122
+ readonly element: "jsonSchemaDialect";
2123
+ readonly $visitor: typeof JsonSchemaDialectVisitor;
2124
+ };
2002
2125
  readonly servers: ServersVisitor;
2003
2126
  readonly paths: {
2004
2127
  readonly $ref: "#/visitors/document/objects/Paths";
@@ -2015,6 +2138,7 @@ export declare const specificationObj: {
2015
2138
  };
2016
2139
  };
2017
2140
  readonly Info: {
2141
+ readonly element: "info";
2018
2142
  readonly $visitor: typeof InfoVisitor;
2019
2143
  readonly fixedFields: {
2020
2144
  readonly title: {
@@ -2039,6 +2163,7 @@ export declare const specificationObj: {
2039
2163
  };
2040
2164
  };
2041
2165
  readonly Contact: {
2166
+ readonly element: "contact";
2042
2167
  readonly $visitor: typeof ContactVisitor;
2043
2168
  readonly fixedFields: {
2044
2169
  readonly name: {
@@ -2053,6 +2178,7 @@ export declare const specificationObj: {
2053
2178
  };
2054
2179
  };
2055
2180
  readonly License: {
2181
+ readonly element: "license";
2056
2182
  readonly $visitor: typeof LicenseVisitor;
2057
2183
  readonly fixedFields: {
2058
2184
  readonly name: {
@@ -2067,6 +2193,7 @@ export declare const specificationObj: {
2067
2193
  };
2068
2194
  };
2069
2195
  readonly Server: {
2196
+ readonly element: "server";
2070
2197
  readonly $visitor: typeof ServerVisitor;
2071
2198
  readonly fixedFields: {
2072
2199
  readonly url: ServerVariableUrlVisitor;
@@ -2077,6 +2204,7 @@ export declare const specificationObj: {
2077
2204
  };
2078
2205
  };
2079
2206
  readonly ServerVariable: {
2207
+ readonly element: "serverVariable";
2080
2208
  readonly $visitor: typeof ServerVariableVisitor;
2081
2209
  readonly fixedFields: {
2082
2210
  readonly enum: {
@@ -2091,6 +2219,7 @@ export declare const specificationObj: {
2091
2219
  };
2092
2220
  };
2093
2221
  readonly Components: {
2222
+ readonly element: "components";
2094
2223
  readonly $visitor: typeof ComponentsVisitor;
2095
2224
  readonly fixedFields: {
2096
2225
  readonly schemas: typeof ComponentsSchemasVisitor;
@@ -2100,15 +2229,20 @@ export declare const specificationObj: {
2100
2229
  readonly requestBodies: ComponentsRequestBodiesVisitor;
2101
2230
  readonly headers: ComponentsHeadersVisitor;
2102
2231
  readonly securitySchemes: ComponentsSecuritySchemesVisitor;
2103
- readonly links: ComponentsLinksVisitor;
2232
+ readonly links: {
2233
+ readonly $visitor: ComponentsLinksVisitor;
2234
+ readonly alias: "linksField";
2235
+ };
2104
2236
  readonly callbacks: ComponentsCallbacksVisitor;
2105
2237
  readonly pathItems: typeof ComponentsPathItemsVisitor;
2106
2238
  };
2107
2239
  };
2108
2240
  readonly Paths: {
2241
+ readonly element: "paths";
2109
2242
  readonly $visitor: typeof PathsVisitor;
2110
2243
  };
2111
2244
  readonly PathItem: {
2245
+ readonly element: "pathItem";
2112
2246
  readonly $visitor: typeof PathItemVisitor;
2113
2247
  readonly fixedFields: {
2114
2248
  readonly $ref: PathItem$RefVisitor;
@@ -2120,6 +2254,7 @@ export declare const specificationObj: {
2120
2254
  };
2121
2255
  readonly get: {
2122
2256
  readonly $ref: "#/visitors/document/objects/Operation";
2257
+ readonly alias: "getField";
2123
2258
  };
2124
2259
  readonly put: {
2125
2260
  readonly $ref: "#/visitors/document/objects/Operation";
@@ -2129,6 +2264,7 @@ export declare const specificationObj: {
2129
2264
  };
2130
2265
  readonly delete: {
2131
2266
  readonly $ref: "#/visitors/document/objects/Operation";
2267
+ readonly alias: "deleteField";
2132
2268
  };
2133
2269
  readonly options: {
2134
2270
  readonly $ref: "#/visitors/document/objects/Operation";
@@ -2147,6 +2283,7 @@ export declare const specificationObj: {
2147
2283
  };
2148
2284
  };
2149
2285
  readonly Operation: {
2286
+ readonly element: "operation";
2150
2287
  readonly $visitor: typeof OperationVisitor;
2151
2288
  readonly fixedFields: {
2152
2289
  readonly tags: OperationTagsVisitor;
@@ -2176,6 +2313,7 @@ export declare const specificationObj: {
2176
2313
  };
2177
2314
  };
2178
2315
  readonly ExternalDocumentation: {
2316
+ readonly element: "externalDocumentation";
2179
2317
  readonly $visitor: typeof ExternalDocumentationVisitor;
2180
2318
  readonly fixedFields: {
2181
2319
  readonly description: {
@@ -2187,6 +2325,7 @@ export declare const specificationObj: {
2187
2325
  };
2188
2326
  };
2189
2327
  readonly Parameter: {
2328
+ readonly element: "parameter";
2190
2329
  readonly $visitor: typeof ParameterVisitor;
2191
2330
  readonly fixedFields: {
2192
2331
  readonly name: {
@@ -2223,22 +2362,30 @@ export declare const specificationObj: {
2223
2362
  readonly $ref: "#/visitors/value";
2224
2363
  };
2225
2364
  readonly examples: ParameterExampleVisitor;
2226
- readonly content: ParameterContentVisitor;
2365
+ readonly content: {
2366
+ readonly $visitor: ParameterContentVisitor;
2367
+ readonly alias: "contentField";
2368
+ };
2227
2369
  };
2228
2370
  };
2229
2371
  readonly RequestBody: {
2372
+ readonly element: "requestBody";
2230
2373
  readonly $visitor: typeof RequestBodyVisitor;
2231
2374
  readonly fixedFields: {
2232
2375
  readonly description: {
2233
2376
  readonly $ref: "#/visitors/value";
2234
2377
  };
2235
- readonly content: RequestBodyContentVisitor;
2378
+ readonly content: {
2379
+ readonly $visitor: RequestBodyContentVisitor;
2380
+ readonly alias: "contentField";
2381
+ };
2236
2382
  readonly required: {
2237
2383
  readonly $ref: "#/visitors/value";
2238
2384
  };
2239
2385
  };
2240
2386
  };
2241
2387
  readonly MediaType: {
2388
+ readonly element: "mediaType";
2242
2389
  readonly $visitor: typeof MediaTypeVisitor;
2243
2390
  readonly fixedFields: {
2244
2391
  readonly schema: {
@@ -2252,6 +2399,7 @@ export declare const specificationObj: {
2252
2399
  };
2253
2400
  };
2254
2401
  readonly Encoding: {
2402
+ readonly element: "encoding";
2255
2403
  readonly $visitor: typeof EncodingVisitor;
2256
2404
  readonly fixedFields: {
2257
2405
  readonly contentType: {
@@ -2270,26 +2418,36 @@ export declare const specificationObj: {
2270
2418
  };
2271
2419
  };
2272
2420
  readonly Responses: {
2421
+ readonly element: "responses";
2273
2422
  readonly $visitor: typeof ResponsesVisitor;
2274
2423
  readonly fixedFields: {
2275
2424
  readonly default: ResponsesDefaultVisitor;
2276
2425
  };
2277
2426
  };
2278
2427
  readonly Response: {
2428
+ readonly element: "response";
2279
2429
  readonly $visitor: typeof ResponseVisitor;
2280
2430
  readonly fixedFields: {
2281
2431
  readonly description: {
2282
2432
  readonly $ref: "#/visitors/value";
2283
2433
  };
2284
2434
  readonly headers: ResponseHeadersVisitor;
2285
- readonly content: ResponseContentVisitor;
2286
- readonly links: ResponseLinksVisitor;
2435
+ readonly content: {
2436
+ readonly $visitor: ResponseContentVisitor;
2437
+ readonly alias: "contentField";
2438
+ };
2439
+ readonly links: {
2440
+ readonly $visitor: ResponseLinksVisitor;
2441
+ readonly alias: "linksField";
2442
+ };
2287
2443
  };
2288
2444
  };
2289
2445
  readonly Callback: {
2446
+ readonly element: "callback";
2290
2447
  readonly $visitor: typeof CallbackVisitor;
2291
2448
  };
2292
2449
  readonly Example: {
2450
+ readonly element: "example";
2293
2451
  readonly $visitor: typeof ExampleVisitor;
2294
2452
  readonly fixedFields: {
2295
2453
  readonly summary: {
@@ -2305,6 +2463,7 @@ export declare const specificationObj: {
2305
2463
  };
2306
2464
  };
2307
2465
  readonly Link: {
2466
+ readonly element: "link";
2308
2467
  readonly $visitor: typeof LinkVisitor;
2309
2468
  readonly fixedFields: {
2310
2469
  readonly operationRef: LinkOperationRefVisitor;
@@ -2322,6 +2481,7 @@ export declare const specificationObj: {
2322
2481
  };
2323
2482
  };
2324
2483
  readonly Header: {
2484
+ readonly element: "header";
2325
2485
  readonly $visitor: typeof HeaderVisitor;
2326
2486
  readonly fixedFields: {
2327
2487
  readonly description: {
@@ -2352,10 +2512,14 @@ export declare const specificationObj: {
2352
2512
  readonly $ref: "#/visitors/value";
2353
2513
  };
2354
2514
  readonly examples: HeaderExamplesVisitor;
2355
- readonly content: HeaderContentVisitor;
2515
+ readonly content: {
2516
+ readonly $visitor: HeaderContentVisitor;
2517
+ readonly alias: "contentField";
2518
+ };
2356
2519
  };
2357
2520
  };
2358
2521
  readonly Tag: {
2522
+ readonly element: "tag";
2359
2523
  readonly $visitor: typeof TagVisitor;
2360
2524
  readonly fixedFields: {
2361
2525
  readonly name: {
@@ -2370,6 +2534,7 @@ export declare const specificationObj: {
2370
2534
  };
2371
2535
  };
2372
2536
  readonly Reference: {
2537
+ readonly element: "reference";
2373
2538
  readonly $visitor: typeof ReferenceVisitor;
2374
2539
  readonly fixedFields: {
2375
2540
  readonly $ref: Reference$RefVisitor;
@@ -2385,6 +2550,7 @@ export declare const specificationObj: {
2385
2550
  readonly $ref: "#/visitors/document/objects/Schema";
2386
2551
  };
2387
2552
  readonly LinkDescription: {
2553
+ readonly element: string;
2388
2554
  readonly $visitor: LinkDescriptionVisitor;
2389
2555
  readonly fixedFields: {
2390
2556
  href: {
@@ -2410,6 +2576,7 @@ export declare const specificationObj: {
2410
2576
  };
2411
2577
  };
2412
2578
  readonly Schema: {
2579
+ readonly element: "schema";
2413
2580
  readonly $visitor: typeof SchemaVisitor;
2414
2581
  readonly fixedFields: {
2415
2582
  readonly $defs: typeof Schema$defsVisitor;
@@ -2466,7 +2633,8 @@ export declare const specificationObj: {
2466
2633
  readonly $ref: "#/visitors/value";
2467
2634
  };
2468
2635
  readonly id: {
2469
- $ref: string;
2636
+ $visitor: FallbackVisitor_2;
2637
+ alias: string;
2470
2638
  };
2471
2639
  readonly $schema: {
2472
2640
  $ref: string;
@@ -2531,7 +2699,10 @@ export declare const specificationObj: {
2531
2699
  readonly base: {
2532
2700
  $ref: string;
2533
2701
  };
2534
- readonly links: LinksVisitor;
2702
+ readonly links: {
2703
+ $visitor: LinksVisitor;
2704
+ alias: string;
2705
+ };
2535
2706
  readonly media: {
2536
2707
  $ref: string;
2537
2708
  };
@@ -2541,6 +2712,7 @@ export declare const specificationObj: {
2541
2712
  };
2542
2713
  };
2543
2714
  readonly Discriminator: {
2715
+ readonly element: "discriminator";
2544
2716
  readonly $visitor: typeof DiscriminatorVisitor;
2545
2717
  readonly fixedFields: {
2546
2718
  readonly propertyName: {
@@ -2550,6 +2722,7 @@ export declare const specificationObj: {
2550
2722
  };
2551
2723
  };
2552
2724
  readonly XML: {
2725
+ readonly element: "xml";
2553
2726
  readonly $visitor: typeof XmlVisitor;
2554
2727
  readonly fixedFields: {
2555
2728
  readonly name: {
@@ -2570,6 +2743,7 @@ export declare const specificationObj: {
2570
2743
  };
2571
2744
  };
2572
2745
  readonly SecurityScheme: {
2746
+ readonly element: "securityScheme";
2573
2747
  readonly $visitor: typeof SecuritySchemeVisitor;
2574
2748
  readonly fixedFields: {
2575
2749
  readonly type: {
@@ -2599,6 +2773,7 @@ export declare const specificationObj: {
2599
2773
  };
2600
2774
  };
2601
2775
  readonly OAuthFlows: {
2776
+ readonly element: "oAuthFlows";
2602
2777
  readonly $visitor: typeof OAuthFlowsVisitor;
2603
2778
  readonly fixedFields: {
2604
2779
  readonly implicit: {
@@ -2616,6 +2791,7 @@ export declare const specificationObj: {
2616
2791
  };
2617
2792
  };
2618
2793
  readonly OAuthFlow: {
2794
+ readonly element: "oAuthFlow";
2619
2795
  readonly $visitor: typeof OAuthFlowVisitor;
2620
2796
  readonly fixedFields: {
2621
2797
  readonly authorizationUrl: {
@@ -2631,6 +2807,7 @@ export declare const specificationObj: {
2631
2807
  };
2632
2808
  };
2633
2809
  readonly SecurityRequirement: {
2810
+ readonly element: "securityRequirement";
2634
2811
  readonly $visitor: typeof SecurityRequirementVisitor;
2635
2812
  };
2636
2813
  };
@@ -2673,25 +2850,11 @@ export { TagVisitorOptions }
2673
2850
  * @public
2674
2851
  */
2675
2852
  export declare interface Toolbox {
2676
- predicates: ToolboxPredicates;
2853
+ predicates: Record<string, (...args: any[]) => boolean>;
2677
2854
  ancestorLineageToJSONPointer: typeof ancestorLineageToJSONPointer;
2678
- namespace: Namespace_2;
2855
+ namespace: Namespace;
2679
2856
  }
2680
2857
 
2681
- /**
2682
- * @public
2683
- */
2684
- export declare type ToolboxPredicates = typeof openApi3_1Predicates & {
2685
- isElement: typeof isElement;
2686
- isStringElement: typeof isStringElement;
2687
- isArrayElement: typeof isArrayElement;
2688
- isObjectElement: typeof isObjectElement;
2689
- isMemberElement: typeof isMemberElement;
2690
- isServersElement: typeof isServersElement;
2691
- includesClasses: typeof includesClasses;
2692
- hasElementSourceMap: typeof hasElementSourceMap;
2693
- };
2694
-
2695
2858
  export { Visitor }
2696
2859
 
2697
2860
  export { VisitorOptions }
@@ -2707,7 +2870,7 @@ export declare class WebhooksElement extends ObjectElement {
2707
2870
  /**
2708
2871
  * @public
2709
2872
  */
2710
- export declare class WebhooksVisitor extends WebhooksVisitor_base {
2873
+ export declare class WebhooksVisitor extends BaseMapVisitor {
2711
2874
  readonly element: WebhooksElement;
2712
2875
  protected readonly specPath: SpecPath<[
2713
2876
  'document',
@@ -2715,15 +2878,13 @@ export declare class WebhooksVisitor extends WebhooksVisitor_base {
2715
2878
  'Reference'
2716
2879
  ] | ['document', 'objects', 'PathItem']>;
2717
2880
  constructor(options: WebhooksVisitorOptions);
2718
- ObjectElement(objectElement: ObjectElement): {};
2881
+ ObjectElement(path: Path<ObjectElement>): void;
2719
2882
  }
2720
2883
 
2721
- declare const WebhooksVisitor_base: Class<any[], MapVisitor & FallbackVisitor, typeof MapVisitor & typeof FallbackVisitor>;
2722
-
2723
2884
  /**
2724
2885
  * @public
2725
2886
  */
2726
- export declare interface WebhooksVisitorOptions extends MapVisitorOptions, FallbackVisitorOptions {
2887
+ export declare interface WebhooksVisitorOptions extends BaseMapVisitorOptions {
2727
2888
  }
2728
2889
 
2729
2890
  /**