ast-types 0.13.3 → 0.14.2

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 (48) hide show
  1. package/.github/dependabot.yml +9 -0
  2. package/.github/workflows/main.yml +29 -0
  3. package/README.md +1 -1
  4. package/def/babel-core.js +5 -61
  5. package/def/babel.js +3 -5
  6. package/def/core-operators.d.ts +3 -0
  7. package/def/core-operators.js +20 -0
  8. package/def/core.js +8 -11
  9. package/def/es-proposals.js +28 -23
  10. package/def/{es7.d.ts → es2016.d.ts} +0 -0
  11. package/def/es2016.js +20 -0
  12. package/def/{esNext.d.ts → es2017.d.ts} +0 -0
  13. package/def/es2017.js +20 -0
  14. package/def/es2018.d.ts +2 -0
  15. package/def/es2018.js +34 -0
  16. package/def/es2019.d.ts +2 -0
  17. package/def/es2019.js +17 -0
  18. package/def/es2020.js +38 -6
  19. package/def/es6.js +49 -25
  20. package/def/esprima.js +5 -7
  21. package/def/flow.js +75 -20
  22. package/def/jsx.js +28 -25
  23. package/def/type-annotations.js +3 -5
  24. package/def/typescript.js +16 -11
  25. package/fork.d.ts +1 -1
  26. package/fork.js +6 -8
  27. package/gen/builders.d.ts +360 -226
  28. package/gen/kinds.d.ts +48 -33
  29. package/gen/namedTypes.d.ts +257 -152
  30. package/gen/namedTypes.js +1 -0
  31. package/gen/visitor.d.ts +36 -21
  32. package/lib/equiv.js +2 -4
  33. package/lib/node-path.js +4 -6
  34. package/lib/path-visitor.js +3 -5
  35. package/lib/path.js +2 -4
  36. package/lib/scope.js +8 -5
  37. package/lib/shared.d.ts +7 -7
  38. package/lib/shared.js +2 -4
  39. package/lib/types.d.ts +1 -1
  40. package/lib/types.js +31 -32
  41. package/main.js +21 -16
  42. package/package.json +15 -13
  43. package/tsconfig.json +1 -0
  44. package/.travis.yml +0 -11
  45. package/def/es7.js +0 -36
  46. package/def/esNext.js +0 -57
  47. package/gen/nodes.d.ts +0 -1265
  48. package/gen/nodes.js +0 -2
@@ -47,6 +47,7 @@ export declare namespace namedTypes {
47
47
  rest?: K.IdentifierKind | null;
48
48
  returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
49
49
  typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
50
+ predicate?: K.FlowPredicateKind | null;
50
51
  }
51
52
  interface Expression extends Node {
52
53
  }
@@ -162,7 +163,7 @@ export declare namespace namedTypes {
162
163
  }
163
164
  interface FunctionDeclaration extends Omit<Function, "type" | "id">, Omit<Declaration, "type"> {
164
165
  type: "FunctionDeclaration";
165
- id: K.IdentifierKind;
166
+ id: K.IdentifierKind | null;
166
167
  }
167
168
  interface FunctionExpression extends Omit<Function, "type">, Omit<Expression, "type"> {
168
169
  type: "FunctionExpression";
@@ -213,17 +214,20 @@ export declare namespace namedTypes {
213
214
  }
214
215
  interface BinaryExpression extends Omit<Expression, "type"> {
215
216
  type: "BinaryExpression";
216
- operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "in" | "instanceof";
217
+ operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "&" | "|" | "^" | "in" | "instanceof" | "**";
217
218
  left: K.ExpressionKind;
218
219
  right: K.ExpressionKind;
219
220
  }
220
221
  interface AssignmentExpression extends Omit<Expression, "type"> {
221
222
  type: "AssignmentExpression";
222
- operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=";
223
+ operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=";
223
224
  left: K.PatternKind | K.MemberExpressionKind;
224
225
  right: K.ExpressionKind;
225
226
  }
226
- interface MemberExpression extends Omit<Expression, "type"> {
227
+ interface ChainElement extends Node {
228
+ optional?: boolean;
229
+ }
230
+ interface MemberExpression extends Omit<Expression, "type">, Omit<ChainElement, "type"> {
227
231
  type: "MemberExpression";
228
232
  object: K.ExpressionKind;
229
233
  property: K.IdentifierKind | K.ExpressionKind;
@@ -253,7 +257,7 @@ export declare namespace namedTypes {
253
257
  arguments: (K.ExpressionKind | K.SpreadElementKind)[];
254
258
  typeArguments?: null | K.TypeParameterInstantiationKind;
255
259
  }
256
- interface CallExpression extends Omit<Expression, "type"> {
260
+ interface CallExpression extends Omit<Expression, "type">, Omit<ChainElement, "type"> {
257
261
  type: "CallExpression";
258
262
  callee: K.ExpressionKind;
259
263
  arguments: (K.ExpressionKind | K.SpreadElementKind)[];
@@ -287,6 +291,7 @@ export declare namespace namedTypes {
287
291
  left: K.VariableDeclarationKind | K.PatternKind;
288
292
  right: K.ExpressionKind;
289
293
  body: K.StatementKind;
294
+ await?: boolean;
290
295
  }
291
296
  interface YieldExpression extends Omit<Expression, "type"> {
292
297
  type: "YieldExpression";
@@ -335,15 +340,6 @@ export declare namespace namedTypes {
335
340
  type: "ArrayPattern";
336
341
  elements: (K.PatternKind | K.SpreadElementKind | null)[];
337
342
  }
338
- interface MethodDefinition extends Omit<Declaration, "type"> {
339
- type: "MethodDefinition";
340
- kind: "constructor" | "method" | "get" | "set";
341
- key: K.ExpressionKind;
342
- value: K.FunctionKind;
343
- computed?: boolean;
344
- static?: boolean;
345
- decorators?: K.DecoratorKind[] | null;
346
- }
347
343
  interface SpreadElement extends Omit<Node, "type"> {
348
344
  type: "SpreadElement";
349
345
  argument: K.ExpressionKind;
@@ -353,6 +349,15 @@ export declare namespace namedTypes {
353
349
  left: K.PatternKind;
354
350
  right: K.ExpressionKind;
355
351
  }
352
+ interface MethodDefinition extends Omit<Declaration, "type"> {
353
+ type: "MethodDefinition";
354
+ kind: "constructor" | "method" | "get" | "set";
355
+ key: K.ExpressionKind;
356
+ value: K.FunctionKind;
357
+ computed?: boolean;
358
+ static?: boolean;
359
+ decorators?: K.DecoratorKind[] | null;
360
+ }
356
361
  interface ClassPropertyDefinition extends Omit<Declaration, "type"> {
357
362
  type: "ClassPropertyDefinition";
358
363
  definition: K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind;
@@ -389,6 +394,9 @@ export declare namespace namedTypes {
389
394
  superTypeParameters?: K.TypeParameterInstantiationKind | K.TSTypeParameterInstantiationKind | null;
390
395
  implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[];
391
396
  }
397
+ interface Super extends Omit<Expression, "type"> {
398
+ type: "Super";
399
+ }
392
400
  interface Specifier extends Node {
393
401
  }
394
402
  interface ModuleSpecifier extends Specifier {
@@ -400,17 +408,36 @@ export declare namespace namedTypes {
400
408
  type: "ImportSpecifier";
401
409
  imported: K.IdentifierKind;
402
410
  }
403
- interface ImportNamespaceSpecifier extends Omit<ModuleSpecifier, "type"> {
404
- type: "ImportNamespaceSpecifier";
405
- }
406
411
  interface ImportDefaultSpecifier extends Omit<ModuleSpecifier, "type"> {
407
412
  type: "ImportDefaultSpecifier";
408
413
  }
414
+ interface ImportNamespaceSpecifier extends Omit<ModuleSpecifier, "type"> {
415
+ type: "ImportNamespaceSpecifier";
416
+ }
409
417
  interface ImportDeclaration extends Omit<Declaration, "type"> {
410
418
  type: "ImportDeclaration";
411
419
  specifiers?: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[];
412
420
  source: K.LiteralKind;
413
- importKind?: "value" | "type";
421
+ importKind?: "value" | "type" | "typeof";
422
+ }
423
+ interface ExportNamedDeclaration extends Omit<Declaration, "type"> {
424
+ type: "ExportNamedDeclaration";
425
+ declaration: K.DeclarationKind | null;
426
+ specifiers?: K.ExportSpecifierKind[];
427
+ source?: K.LiteralKind | null;
428
+ }
429
+ interface ExportSpecifier extends Omit<ModuleSpecifier, "type"> {
430
+ type: "ExportSpecifier";
431
+ exported: K.IdentifierKind;
432
+ }
433
+ interface ExportDefaultDeclaration extends Omit<Declaration, "type"> {
434
+ type: "ExportDefaultDeclaration";
435
+ declaration: K.DeclarationKind | K.ExpressionKind;
436
+ }
437
+ interface ExportAllDeclaration extends Omit<Declaration, "type"> {
438
+ type: "ExportAllDeclaration";
439
+ source: K.LiteralKind;
440
+ exported: K.IdentifierKind | null;
414
441
  }
415
442
  interface TaggedTemplateExpression extends Omit<Expression, "type"> {
416
443
  type: "TaggedTemplateExpression";
@@ -425,11 +452,21 @@ export declare namespace namedTypes {
425
452
  interface TemplateElement extends Omit<Node, "type"> {
426
453
  type: "TemplateElement";
427
454
  value: {
428
- cooked: string;
455
+ cooked: string | null;
429
456
  raw: string;
430
457
  };
431
458
  tail: boolean;
432
459
  }
460
+ interface MetaProperty extends Omit<Expression, "type"> {
461
+ type: "MetaProperty";
462
+ meta: K.IdentifierKind;
463
+ property: K.IdentifierKind;
464
+ }
465
+ interface AwaitExpression extends Omit<Expression, "type"> {
466
+ type: "AwaitExpression";
467
+ argument: K.ExpressionKind | null;
468
+ all?: boolean;
469
+ }
433
470
  interface SpreadProperty extends Omit<Node, "type"> {
434
471
  type: "SpreadProperty";
435
472
  argument: K.ExpressionKind;
@@ -438,19 +475,26 @@ export declare namespace namedTypes {
438
475
  type: "SpreadPropertyPattern";
439
476
  argument: K.PatternKind;
440
477
  }
441
- interface AwaitExpression extends Omit<Expression, "type"> {
442
- type: "AwaitExpression";
443
- argument: K.ExpressionKind | null;
444
- all?: boolean;
445
- }
446
478
  interface ImportExpression extends Omit<Expression, "type"> {
447
479
  type: "ImportExpression";
448
480
  source: K.ExpressionKind;
449
481
  }
482
+ interface ChainExpression extends Omit<Expression, "type"> {
483
+ type: "ChainExpression";
484
+ expression: K.ChainElementKind;
485
+ }
486
+ interface OptionalCallExpression extends Omit<CallExpression, "type" | "optional"> {
487
+ type: "OptionalCallExpression";
488
+ optional?: boolean;
489
+ }
490
+ interface OptionalMemberExpression extends Omit<MemberExpression, "type" | "optional"> {
491
+ type: "OptionalMemberExpression";
492
+ optional?: boolean;
493
+ }
450
494
  interface JSXAttribute extends Omit<Node, "type"> {
451
495
  type: "JSXAttribute";
452
496
  name: K.JSXIdentifierKind | K.JSXNamespacedNameKind;
453
- value?: K.LiteralKind | K.JSXExpressionContainerKind | null;
497
+ value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null;
454
498
  }
455
499
  interface JSXIdentifier extends Omit<Identifier, "type" | "name"> {
456
500
  type: "JSXIdentifier";
@@ -463,7 +507,22 @@ export declare namespace namedTypes {
463
507
  }
464
508
  interface JSXExpressionContainer extends Omit<Expression, "type"> {
465
509
  type: "JSXExpressionContainer";
466
- expression: K.ExpressionKind;
510
+ expression: K.ExpressionKind | K.JSXEmptyExpressionKind;
511
+ }
512
+ interface JSXElement extends Omit<Expression, "type"> {
513
+ type: "JSXElement";
514
+ openingElement: K.JSXOpeningElementKind;
515
+ closingElement?: K.JSXClosingElementKind | null;
516
+ children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[];
517
+ name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
518
+ selfClosing?: boolean;
519
+ attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
520
+ }
521
+ interface JSXFragment extends Omit<Expression, "type"> {
522
+ type: "JSXFragment";
523
+ openingFragment: K.JSXOpeningFragmentKind;
524
+ closingFragment: K.JSXClosingFragmentKind;
525
+ children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[];
467
526
  }
468
527
  interface JSXMemberExpression extends Omit<MemberExpression, "type" | "object" | "property" | "computed"> {
469
528
  type: "JSXMemberExpression";
@@ -475,14 +534,17 @@ export declare namespace namedTypes {
475
534
  type: "JSXSpreadAttribute";
476
535
  argument: K.ExpressionKind;
477
536
  }
478
- interface JSXElement extends Omit<Expression, "type"> {
479
- type: "JSXElement";
480
- openingElement: K.JSXOpeningElementKind;
481
- closingElement?: K.JSXClosingElementKind | null;
482
- children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
483
- name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
484
- selfClosing?: boolean;
485
- attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
537
+ interface JSXEmptyExpression extends Omit<Node, "type"> {
538
+ type: "JSXEmptyExpression";
539
+ }
540
+ interface JSXText extends Omit<Literal, "type" | "value"> {
541
+ type: "JSXText";
542
+ value: string;
543
+ raw?: string;
544
+ }
545
+ interface JSXSpreadChild extends Omit<Node, "type"> {
546
+ type: "JSXSpreadChild";
547
+ expression: K.ExpressionKind;
486
548
  }
487
549
  interface JSXOpeningElement extends Omit<Node, "type"> {
488
550
  type: "JSXOpeningElement";
@@ -494,29 +556,25 @@ export declare namespace namedTypes {
494
556
  type: "JSXClosingElement";
495
557
  name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
496
558
  }
497
- interface JSXFragment extends Omit<Expression, "type"> {
498
- type: "JSXFragment";
499
- openingElement: K.JSXOpeningFragmentKind;
500
- closingElement: K.JSXClosingFragmentKind;
501
- children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
502
- }
503
- interface JSXText extends Omit<Literal, "type" | "value"> {
504
- type: "JSXText";
505
- value: string;
506
- }
507
559
  interface JSXOpeningFragment extends Omit<Node, "type"> {
508
560
  type: "JSXOpeningFragment";
509
561
  }
510
562
  interface JSXClosingFragment extends Omit<Node, "type"> {
511
563
  type: "JSXClosingFragment";
512
564
  }
513
- interface JSXEmptyExpression extends Omit<Expression, "type"> {
514
- type: "JSXEmptyExpression";
515
- }
516
- interface JSXSpreadChild extends Omit<Expression, "type"> {
517
- type: "JSXSpreadChild";
565
+ interface Decorator extends Omit<Node, "type"> {
566
+ type: "Decorator";
518
567
  expression: K.ExpressionKind;
519
568
  }
569
+ interface PrivateName extends Omit<Expression, "type">, Omit<Pattern, "type"> {
570
+ type: "PrivateName";
571
+ id: K.IdentifierKind;
572
+ }
573
+ interface ClassPrivateProperty extends Omit<ClassProperty, "type" | "key" | "value"> {
574
+ type: "ClassPrivateProperty";
575
+ key: K.PrivateNameKind;
576
+ value?: K.ExpressionKind | null;
577
+ }
520
578
  interface TypeParameterDeclaration extends Omit<Node, "type"> {
521
579
  type: "TypeParameterDeclaration";
522
580
  params: K.TypeParameterKind[];
@@ -564,9 +622,15 @@ export declare namespace namedTypes {
564
622
  interface VoidTypeAnnotation extends Omit<FlowType, "type"> {
565
623
  type: "VoidTypeAnnotation";
566
624
  }
625
+ interface SymbolTypeAnnotation extends Omit<FlowType, "type"> {
626
+ type: "SymbolTypeAnnotation";
627
+ }
567
628
  interface NumberTypeAnnotation extends Omit<FlowType, "type"> {
568
629
  type: "NumberTypeAnnotation";
569
630
  }
631
+ interface BigIntTypeAnnotation extends Omit<FlowType, "type"> {
632
+ type: "BigIntTypeAnnotation";
633
+ }
570
634
  interface NumberLiteralTypeAnnotation extends Omit<FlowType, "type"> {
571
635
  type: "NumberLiteralTypeAnnotation";
572
636
  value: number;
@@ -577,6 +641,11 @@ export declare namespace namedTypes {
577
641
  value: number;
578
642
  raw: string;
579
643
  }
644
+ interface BigIntLiteralTypeAnnotation extends Omit<FlowType, "type"> {
645
+ type: "BigIntLiteralTypeAnnotation";
646
+ value: null;
647
+ raw: string;
648
+ }
580
649
  interface StringTypeAnnotation extends Omit<FlowType, "type"> {
581
650
  type: "StringTypeAnnotation";
582
651
  }
@@ -621,7 +690,7 @@ export declare namespace namedTypes {
621
690
  }
622
691
  interface FunctionTypeParam extends Omit<Node, "type"> {
623
692
  type: "FunctionTypeParam";
624
- name: K.IdentifierKind;
693
+ name: K.IdentifierKind | null;
625
694
  typeAnnotation: K.FlowTypeKind;
626
695
  optional: boolean;
627
696
  }
@@ -655,6 +724,7 @@ export declare namespace namedTypes {
655
724
  key: K.FlowTypeKind;
656
725
  value: K.FlowTypeKind;
657
726
  variance?: K.VarianceKind | "plus" | "minus" | null;
727
+ static?: boolean;
658
728
  }
659
729
  interface ObjectTypeCallProperty extends Omit<Node, "type"> {
660
730
  type: "ObjectTypeCallProperty";
@@ -705,6 +775,7 @@ export declare namespace namedTypes {
705
775
  name: string;
706
776
  variance?: K.VarianceKind | "plus" | "minus" | null;
707
777
  bound?: K.TypeAnnotationKind | null;
778
+ default?: K.FlowTypeKind | null;
708
779
  }
709
780
  interface InterfaceTypeAnnotation extends Omit<FlowType, "type"> {
710
781
  type: "InterfaceTypeAnnotation";
@@ -732,18 +803,19 @@ export declare namespace namedTypes {
732
803
  typeParameters: K.TypeParameterDeclarationKind | null;
733
804
  right: K.FlowTypeKind;
734
805
  }
806
+ interface DeclareTypeAlias extends Omit<TypeAlias, "type"> {
807
+ type: "DeclareTypeAlias";
808
+ }
735
809
  interface OpaqueType extends Omit<Declaration, "type"> {
736
810
  type: "OpaqueType";
737
811
  id: K.IdentifierKind;
738
812
  typeParameters: K.TypeParameterDeclarationKind | null;
739
813
  impltype: K.FlowTypeKind;
740
- supertype: K.FlowTypeKind;
814
+ supertype: K.FlowTypeKind | null;
741
815
  }
742
- interface DeclareTypeAlias extends Omit<TypeAlias, "type"> {
743
- type: "DeclareTypeAlias";
744
- }
745
- interface DeclareOpaqueType extends Omit<TypeAlias, "type"> {
816
+ interface DeclareOpaqueType extends Omit<OpaqueType, "type" | "impltype"> {
746
817
  type: "DeclareOpaqueType";
818
+ impltype: K.FlowTypeKind | null;
747
819
  }
748
820
  interface TypeCastExpression extends Omit<Expression, "type"> {
749
821
  type: "TypeCastExpression";
@@ -761,6 +833,9 @@ export declare namespace namedTypes {
761
833
  interface DeclareFunction extends Omit<Statement, "type"> {
762
834
  type: "DeclareFunction";
763
835
  id: K.IdentifierKind;
836
+ predicate?: K.FlowPredicateKind | null;
837
+ }
838
+ interface FlowPredicate extends Flow {
764
839
  }
765
840
  interface DeclareClass extends Omit<InterfaceDeclaration, "type"> {
766
841
  type: "DeclareClass";
@@ -777,14 +852,10 @@ export declare namespace namedTypes {
777
852
  interface DeclareExportDeclaration extends Omit<Declaration, "type"> {
778
853
  type: "DeclareExportDeclaration";
779
854
  default: boolean;
780
- declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | null;
855
+ declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null;
781
856
  specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
782
857
  source?: K.LiteralKind | null;
783
858
  }
784
- interface ExportSpecifier extends Omit<ModuleSpecifier, "type"> {
785
- type: "ExportSpecifier";
786
- exported: K.IdentifierKind;
787
- }
788
859
  interface ExportBatchSpecifier extends Omit<Specifier, "type"> {
789
860
  type: "ExportBatchSpecifier";
790
861
  }
@@ -792,8 +863,6 @@ export declare namespace namedTypes {
792
863
  type: "DeclareExportAllDeclaration";
793
864
  source?: K.LiteralKind | null;
794
865
  }
795
- interface FlowPredicate extends Flow {
796
- }
797
866
  interface InferredPredicate extends Omit<FlowPredicate, "type"> {
798
867
  type: "InferredPredicate";
799
868
  }
@@ -801,6 +870,49 @@ export declare namespace namedTypes {
801
870
  type: "DeclaredPredicate";
802
871
  value: K.ExpressionKind;
803
872
  }
873
+ interface EnumDeclaration extends Omit<Declaration, "type"> {
874
+ type: "EnumDeclaration";
875
+ id: K.IdentifierKind;
876
+ body: K.EnumBooleanBodyKind | K.EnumNumberBodyKind | K.EnumStringBodyKind | K.EnumSymbolBodyKind;
877
+ }
878
+ interface EnumBooleanBody {
879
+ type: "EnumBooleanBody";
880
+ members: K.EnumBooleanMemberKind[];
881
+ explicitType: boolean;
882
+ }
883
+ interface EnumNumberBody {
884
+ type: "EnumNumberBody";
885
+ members: K.EnumNumberMemberKind[];
886
+ explicitType: boolean;
887
+ }
888
+ interface EnumStringBody {
889
+ type: "EnumStringBody";
890
+ members: K.EnumStringMemberKind[] | K.EnumDefaultedMemberKind[];
891
+ explicitType: boolean;
892
+ }
893
+ interface EnumSymbolBody {
894
+ type: "EnumSymbolBody";
895
+ members: K.EnumDefaultedMemberKind[];
896
+ }
897
+ interface EnumBooleanMember {
898
+ type: "EnumBooleanMember";
899
+ id: K.IdentifierKind;
900
+ init: K.LiteralKind | boolean;
901
+ }
902
+ interface EnumNumberMember {
903
+ type: "EnumNumberMember";
904
+ id: K.IdentifierKind;
905
+ init: K.LiteralKind;
906
+ }
907
+ interface EnumStringMember {
908
+ type: "EnumStringMember";
909
+ id: K.IdentifierKind;
910
+ init: K.LiteralKind;
911
+ }
912
+ interface EnumDefaultedMember {
913
+ type: "EnumDefaultedMember";
914
+ id: K.IdentifierKind;
915
+ }
804
916
  interface ExportDeclaration extends Omit<Declaration, "type"> {
805
917
  type: "ExportDeclaration";
806
918
  default: boolean;
@@ -821,37 +933,15 @@ export declare namespace namedTypes {
821
933
  type: "DoExpression";
822
934
  body: K.StatementKind[];
823
935
  }
824
- interface Super extends Omit<Expression, "type"> {
825
- type: "Super";
826
- }
827
936
  interface BindExpression extends Omit<Expression, "type"> {
828
937
  type: "BindExpression";
829
938
  object: K.ExpressionKind | null;
830
939
  callee: K.ExpressionKind;
831
940
  }
832
- interface Decorator extends Omit<Node, "type"> {
833
- type: "Decorator";
834
- expression: K.ExpressionKind;
835
- }
836
- interface MetaProperty extends Omit<Expression, "type"> {
837
- type: "MetaProperty";
838
- meta: K.IdentifierKind;
839
- property: K.IdentifierKind;
840
- }
841
941
  interface ParenthesizedExpression extends Omit<Expression, "type"> {
842
942
  type: "ParenthesizedExpression";
843
943
  expression: K.ExpressionKind;
844
944
  }
845
- interface ExportDefaultDeclaration extends Omit<Declaration, "type"> {
846
- type: "ExportDefaultDeclaration";
847
- declaration: K.DeclarationKind | K.ExpressionKind;
848
- }
849
- interface ExportNamedDeclaration extends Omit<Declaration, "type"> {
850
- type: "ExportNamedDeclaration";
851
- declaration: K.DeclarationKind | null;
852
- specifiers?: K.ExportSpecifierKind[];
853
- source?: K.LiteralKind | null;
854
- }
855
945
  interface ExportNamespaceSpecifier extends Omit<Specifier, "type"> {
856
946
  type: "ExportNamespaceSpecifier";
857
947
  exported: K.IdentifierKind;
@@ -860,11 +950,6 @@ export declare namespace namedTypes {
860
950
  type: "ExportDefaultSpecifier";
861
951
  exported: K.IdentifierKind;
862
952
  }
863
- interface ExportAllDeclaration extends Omit<Declaration, "type"> {
864
- type: "ExportAllDeclaration";
865
- exported: K.IdentifierKind | null;
866
- source: K.LiteralKind;
867
- }
868
953
  interface CommentBlock extends Comment {
869
954
  type: "CommentBlock";
870
955
  }
@@ -930,11 +1015,6 @@ export declare namespace namedTypes {
930
1015
  accessibility?: K.LiteralKind | null;
931
1016
  decorators?: K.DecoratorKind[] | null;
932
1017
  }
933
- interface ClassPrivateProperty extends Omit<ClassProperty, "type" | "key" | "value"> {
934
- type: "ClassPrivateProperty";
935
- key: K.PrivateNameKind;
936
- value?: K.ExpressionKind | null;
937
- }
938
1018
  interface ClassMethod extends Omit<Declaration, "type">, Omit<Function, "type" | "body"> {
939
1019
  type: "ClassMethod";
940
1020
  key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
@@ -961,10 +1041,6 @@ export declare namespace namedTypes {
961
1041
  decorators?: K.DecoratorKind[] | null;
962
1042
  optional?: boolean | null;
963
1043
  }
964
- interface PrivateName extends Omit<Expression, "type">, Omit<Pattern, "type"> {
965
- type: "PrivateName";
966
- id: K.IdentifierKind;
967
- }
968
1044
  interface RestProperty extends Omit<Node, "type"> {
969
1045
  type: "RestProperty";
970
1046
  argument: K.ExpressionKind;
@@ -1123,7 +1199,13 @@ export declare namespace namedTypes {
1123
1199
  }
1124
1200
  interface TSTupleType extends Omit<TSType, "type"> {
1125
1201
  type: "TSTupleType";
1126
- elementTypes: K.TSTypeKind[];
1202
+ elementTypes: (K.TSTypeKind | K.TSNamedTupleMemberKind)[];
1203
+ }
1204
+ interface TSNamedTupleMember extends Omit<TSType, "type"> {
1205
+ type: "TSNamedTupleMember";
1206
+ label: K.IdentifierKind;
1207
+ optional?: boolean;
1208
+ elementType: K.TSTypeKind;
1127
1209
  }
1128
1210
  interface TSRestType extends Omit<TSType, "type"> {
1129
1211
  type: "TSRestType";
@@ -1163,10 +1245,11 @@ export declare namespace namedTypes {
1163
1245
  optional?: boolean;
1164
1246
  parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
1165
1247
  }
1166
- interface TSTypePredicate extends Omit<TSTypeAnnotation, "type" | "typeAnnotation"> {
1248
+ interface TSTypePredicate extends Omit<TSTypeAnnotation, "type" | "typeAnnotation">, Omit<TSType, "type"> {
1167
1249
  type: "TSTypePredicate";
1168
1250
  parameterName: K.IdentifierKind | K.TSThisTypeKind;
1169
- typeAnnotation: K.TSTypeAnnotationKind;
1251
+ typeAnnotation?: K.TSTypeAnnotationKind | null;
1252
+ asserts?: boolean;
1170
1253
  }
1171
1254
  interface TSCallSignatureDeclaration extends Omit<Declaration, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
1172
1255
  type: "TSCallSignatureDeclaration";
@@ -1262,15 +1345,7 @@ export declare namespace namedTypes {
1262
1345
  readonly?: boolean;
1263
1346
  parameter: K.IdentifierKind | K.AssignmentPatternKind;
1264
1347
  }
1265
- interface OptionalMemberExpression extends Omit<MemberExpression, "type"> {
1266
- type: "OptionalMemberExpression";
1267
- optional?: boolean;
1268
- }
1269
- interface OptionalCallExpression extends Omit<CallExpression, "type"> {
1270
- type: "OptionalCallExpression";
1271
- optional?: boolean;
1272
- }
1273
- type ASTNode = File | Program | Identifier | BlockStatement | EmptyStatement | ExpressionStatement | IfStatement | LabeledStatement | BreakStatement | ContinueStatement | WithStatement | SwitchStatement | SwitchCase | ReturnStatement | ThrowStatement | TryStatement | CatchClause | WhileStatement | DoWhileStatement | ForStatement | VariableDeclaration | ForInStatement | DebuggerStatement | FunctionDeclaration | FunctionExpression | VariableDeclarator | ThisExpression | ArrayExpression | ObjectExpression | Property | Literal | SequenceExpression | UnaryExpression | BinaryExpression | AssignmentExpression | MemberExpression | UpdateExpression | LogicalExpression | ConditionalExpression | NewExpression | CallExpression | RestElement | TypeAnnotation | TSTypeAnnotation | SpreadElementPattern | ArrowFunctionExpression | ForOfStatement | YieldExpression | GeneratorExpression | ComprehensionBlock | ComprehensionExpression | ObjectProperty | PropertyPattern | ObjectPattern | ArrayPattern | MethodDefinition | SpreadElement | AssignmentPattern | ClassPropertyDefinition | ClassProperty | ClassBody | ClassDeclaration | ClassExpression | ImportSpecifier | ImportNamespaceSpecifier | ImportDefaultSpecifier | ImportDeclaration | TaggedTemplateExpression | TemplateLiteral | TemplateElement | SpreadProperty | SpreadPropertyPattern | AwaitExpression | ImportExpression | JSXAttribute | JSXIdentifier | JSXNamespacedName | JSXExpressionContainer | JSXMemberExpression | JSXSpreadAttribute | JSXElement | JSXOpeningElement | JSXClosingElement | JSXFragment | JSXText | JSXOpeningFragment | JSXClosingFragment | JSXEmptyExpression | JSXSpreadChild | TypeParameterDeclaration | TSTypeParameterDeclaration | TypeParameterInstantiation | TSTypeParameterInstantiation | ClassImplements | TSExpressionWithTypeArguments | AnyTypeAnnotation | EmptyTypeAnnotation | MixedTypeAnnotation | VoidTypeAnnotation | NumberTypeAnnotation | NumberLiteralTypeAnnotation | NumericLiteralTypeAnnotation | StringTypeAnnotation | StringLiteralTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullableTypeAnnotation | NullLiteralTypeAnnotation | NullTypeAnnotation | ThisTypeAnnotation | ExistsTypeAnnotation | ExistentialTypeParam | FunctionTypeAnnotation | FunctionTypeParam | ArrayTypeAnnotation | ObjectTypeAnnotation | ObjectTypeProperty | ObjectTypeSpreadProperty | ObjectTypeIndexer | ObjectTypeCallProperty | ObjectTypeInternalSlot | Variance | QualifiedTypeIdentifier | GenericTypeAnnotation | MemberTypeAnnotation | UnionTypeAnnotation | IntersectionTypeAnnotation | TypeofTypeAnnotation | TypeParameter | InterfaceTypeAnnotation | InterfaceExtends | InterfaceDeclaration | DeclareInterface | TypeAlias | OpaqueType | DeclareTypeAlias | DeclareOpaqueType | TypeCastExpression | TupleTypeAnnotation | DeclareVariable | DeclareFunction | DeclareClass | DeclareModule | DeclareModuleExports | DeclareExportDeclaration | ExportSpecifier | ExportBatchSpecifier | DeclareExportAllDeclaration | InferredPredicate | DeclaredPredicate | ExportDeclaration | Block | Line | Noop | DoExpression | Super | BindExpression | Decorator | MetaProperty | ParenthesizedExpression | ExportDefaultDeclaration | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportDefaultSpecifier | ExportAllDeclaration | CommentBlock | CommentLine | Directive | DirectiveLiteral | InterpreterDirective | StringLiteral | NumericLiteral | BigIntLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ObjectMethod | ClassPrivateProperty | ClassMethod | ClassPrivateMethod | PrivateName | RestProperty | ForAwaitStatement | Import | TSQualifiedName | TSTypeReference | TSAsExpression | TSNonNullExpression | TSAnyKeyword | TSBigIntKeyword | TSBooleanKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSArrayType | TSLiteralType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSTypeParameter | TSParenthesizedType | TSFunctionType | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSMappedType | TSTupleType | TSRestType | TSOptionalType | TSIndexedAccessType | TSTypeOperator | TSIndexSignature | TSPropertySignature | TSMethodSignature | TSTypePredicate | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSEnumMember | TSTypeQuery | TSImportType | TSTypeLiteral | TSTypeAssertion | TSEnumDeclaration | TSTypeAliasDeclaration | TSModuleBlock | TSModuleDeclaration | TSImportEqualsDeclaration | TSExternalModuleReference | TSExportAssignment | TSNamespaceExportDeclaration | TSInterfaceBody | TSInterfaceDeclaration | TSParameterProperty | OptionalMemberExpression | OptionalCallExpression;
1348
+ type ASTNode = File | Program | Identifier | BlockStatement | EmptyStatement | ExpressionStatement | IfStatement | LabeledStatement | BreakStatement | ContinueStatement | WithStatement | SwitchStatement | SwitchCase | ReturnStatement | ThrowStatement | TryStatement | CatchClause | WhileStatement | DoWhileStatement | ForStatement | VariableDeclaration | ForInStatement | DebuggerStatement | FunctionDeclaration | FunctionExpression | VariableDeclarator | ThisExpression | ArrayExpression | ObjectExpression | Property | Literal | SequenceExpression | UnaryExpression | BinaryExpression | AssignmentExpression | MemberExpression | UpdateExpression | LogicalExpression | ConditionalExpression | NewExpression | CallExpression | RestElement | TypeAnnotation | TSTypeAnnotation | SpreadElementPattern | ArrowFunctionExpression | ForOfStatement | YieldExpression | GeneratorExpression | ComprehensionBlock | ComprehensionExpression | ObjectProperty | PropertyPattern | ObjectPattern | ArrayPattern | SpreadElement | AssignmentPattern | MethodDefinition | ClassPropertyDefinition | ClassProperty | ClassBody | ClassDeclaration | ClassExpression | Super | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportDeclaration | ExportNamedDeclaration | ExportSpecifier | ExportDefaultDeclaration | ExportAllDeclaration | TaggedTemplateExpression | TemplateLiteral | TemplateElement | MetaProperty | AwaitExpression | SpreadProperty | SpreadPropertyPattern | ImportExpression | ChainExpression | OptionalCallExpression | OptionalMemberExpression | JSXAttribute | JSXIdentifier | JSXNamespacedName | JSXExpressionContainer | JSXElement | JSXFragment | JSXMemberExpression | JSXSpreadAttribute | JSXEmptyExpression | JSXText | JSXSpreadChild | JSXOpeningElement | JSXClosingElement | JSXOpeningFragment | JSXClosingFragment | Decorator | PrivateName | ClassPrivateProperty | TypeParameterDeclaration | TSTypeParameterDeclaration | TypeParameterInstantiation | TSTypeParameterInstantiation | ClassImplements | TSExpressionWithTypeArguments | AnyTypeAnnotation | EmptyTypeAnnotation | MixedTypeAnnotation | VoidTypeAnnotation | SymbolTypeAnnotation | NumberTypeAnnotation | BigIntTypeAnnotation | NumberLiteralTypeAnnotation | NumericLiteralTypeAnnotation | BigIntLiteralTypeAnnotation | StringTypeAnnotation | StringLiteralTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullableTypeAnnotation | NullLiteralTypeAnnotation | NullTypeAnnotation | ThisTypeAnnotation | ExistsTypeAnnotation | ExistentialTypeParam | FunctionTypeAnnotation | FunctionTypeParam | ArrayTypeAnnotation | ObjectTypeAnnotation | ObjectTypeProperty | ObjectTypeSpreadProperty | ObjectTypeIndexer | ObjectTypeCallProperty | ObjectTypeInternalSlot | Variance | QualifiedTypeIdentifier | GenericTypeAnnotation | MemberTypeAnnotation | UnionTypeAnnotation | IntersectionTypeAnnotation | TypeofTypeAnnotation | TypeParameter | InterfaceTypeAnnotation | InterfaceExtends | InterfaceDeclaration | DeclareInterface | TypeAlias | DeclareTypeAlias | OpaqueType | DeclareOpaqueType | TypeCastExpression | TupleTypeAnnotation | DeclareVariable | DeclareFunction | DeclareClass | DeclareModule | DeclareModuleExports | DeclareExportDeclaration | ExportBatchSpecifier | DeclareExportAllDeclaration | InferredPredicate | DeclaredPredicate | EnumDeclaration | EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody | EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember | ExportDeclaration | Block | Line | Noop | DoExpression | BindExpression | ParenthesizedExpression | ExportNamespaceSpecifier | ExportDefaultSpecifier | CommentBlock | CommentLine | Directive | DirectiveLiteral | InterpreterDirective | StringLiteral | NumericLiteral | BigIntLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ObjectMethod | ClassMethod | ClassPrivateMethod | RestProperty | ForAwaitStatement | Import | TSQualifiedName | TSTypeReference | TSAsExpression | TSNonNullExpression | TSAnyKeyword | TSBigIntKeyword | TSBooleanKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSArrayType | TSLiteralType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSTypeParameter | TSParenthesizedType | TSFunctionType | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSMappedType | TSTupleType | TSNamedTupleMember | TSRestType | TSOptionalType | TSIndexedAccessType | TSTypeOperator | TSIndexSignature | TSPropertySignature | TSMethodSignature | TSTypePredicate | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSEnumMember | TSTypeQuery | TSImportType | TSTypeLiteral | TSTypeAssertion | TSEnumDeclaration | TSTypeAliasDeclaration | TSModuleBlock | TSModuleDeclaration | TSImportEqualsDeclaration | TSExternalModuleReference | TSExportAssignment | TSNamespaceExportDeclaration | TSInterfaceBody | TSInterfaceDeclaration | TSParameterProperty;
1274
1349
  let Printable: Type<Printable>;
1275
1350
  let SourceLocation: Type<SourceLocation>;
1276
1351
  let Node: Type<Node>;
@@ -1316,6 +1391,7 @@ export declare namespace namedTypes {
1316
1391
  let UnaryExpression: Type<UnaryExpression>;
1317
1392
  let BinaryExpression: Type<BinaryExpression>;
1318
1393
  let AssignmentExpression: Type<AssignmentExpression>;
1394
+ let ChainElement: Type<ChainElement>;
1319
1395
  let MemberExpression: Type<MemberExpression>;
1320
1396
  let UpdateExpression: Type<UpdateExpression>;
1321
1397
  let LogicalExpression: Type<LogicalExpression>;
@@ -1336,42 +1412,54 @@ export declare namespace namedTypes {
1336
1412
  let PropertyPattern: Type<PropertyPattern>;
1337
1413
  let ObjectPattern: Type<ObjectPattern>;
1338
1414
  let ArrayPattern: Type<ArrayPattern>;
1339
- let MethodDefinition: Type<MethodDefinition>;
1340
1415
  let SpreadElement: Type<SpreadElement>;
1341
1416
  let AssignmentPattern: Type<AssignmentPattern>;
1417
+ let MethodDefinition: Type<MethodDefinition>;
1342
1418
  let ClassPropertyDefinition: Type<ClassPropertyDefinition>;
1343
1419
  let ClassProperty: Type<ClassProperty>;
1344
1420
  let ClassBody: Type<ClassBody>;
1345
1421
  let ClassDeclaration: Type<ClassDeclaration>;
1346
1422
  let ClassExpression: Type<ClassExpression>;
1423
+ let Super: Type<Super>;
1347
1424
  let Specifier: Type<Specifier>;
1348
1425
  let ModuleSpecifier: Type<ModuleSpecifier>;
1349
1426
  let ImportSpecifier: Type<ImportSpecifier>;
1350
- let ImportNamespaceSpecifier: Type<ImportNamespaceSpecifier>;
1351
1427
  let ImportDefaultSpecifier: Type<ImportDefaultSpecifier>;
1428
+ let ImportNamespaceSpecifier: Type<ImportNamespaceSpecifier>;
1352
1429
  let ImportDeclaration: Type<ImportDeclaration>;
1430
+ let ExportNamedDeclaration: Type<ExportNamedDeclaration>;
1431
+ let ExportSpecifier: Type<ExportSpecifier>;
1432
+ let ExportDefaultDeclaration: Type<ExportDefaultDeclaration>;
1433
+ let ExportAllDeclaration: Type<ExportAllDeclaration>;
1353
1434
  let TaggedTemplateExpression: Type<TaggedTemplateExpression>;
1354
1435
  let TemplateLiteral: Type<TemplateLiteral>;
1355
1436
  let TemplateElement: Type<TemplateElement>;
1437
+ let MetaProperty: Type<MetaProperty>;
1438
+ let AwaitExpression: Type<AwaitExpression>;
1356
1439
  let SpreadProperty: Type<SpreadProperty>;
1357
1440
  let SpreadPropertyPattern: Type<SpreadPropertyPattern>;
1358
- let AwaitExpression: Type<AwaitExpression>;
1359
1441
  let ImportExpression: Type<ImportExpression>;
1442
+ let ChainExpression: Type<ChainExpression>;
1443
+ let OptionalCallExpression: Type<OptionalCallExpression>;
1444
+ let OptionalMemberExpression: Type<OptionalMemberExpression>;
1360
1445
  let JSXAttribute: Type<JSXAttribute>;
1361
1446
  let JSXIdentifier: Type<JSXIdentifier>;
1362
1447
  let JSXNamespacedName: Type<JSXNamespacedName>;
1363
1448
  let JSXExpressionContainer: Type<JSXExpressionContainer>;
1449
+ let JSXElement: Type<JSXElement>;
1450
+ let JSXFragment: Type<JSXFragment>;
1364
1451
  let JSXMemberExpression: Type<JSXMemberExpression>;
1365
1452
  let JSXSpreadAttribute: Type<JSXSpreadAttribute>;
1366
- let JSXElement: Type<JSXElement>;
1453
+ let JSXEmptyExpression: Type<JSXEmptyExpression>;
1454
+ let JSXText: Type<JSXText>;
1455
+ let JSXSpreadChild: Type<JSXSpreadChild>;
1367
1456
  let JSXOpeningElement: Type<JSXOpeningElement>;
1368
1457
  let JSXClosingElement: Type<JSXClosingElement>;
1369
- let JSXFragment: Type<JSXFragment>;
1370
- let JSXText: Type<JSXText>;
1371
1458
  let JSXOpeningFragment: Type<JSXOpeningFragment>;
1372
1459
  let JSXClosingFragment: Type<JSXClosingFragment>;
1373
- let JSXEmptyExpression: Type<JSXEmptyExpression>;
1374
- let JSXSpreadChild: Type<JSXSpreadChild>;
1460
+ let Decorator: Type<Decorator>;
1461
+ let PrivateName: Type<PrivateName>;
1462
+ let ClassPrivateProperty: Type<ClassPrivateProperty>;
1375
1463
  let TypeParameterDeclaration: Type<TypeParameterDeclaration>;
1376
1464
  let TSTypeParameterDeclaration: Type<TSTypeParameterDeclaration>;
1377
1465
  let TypeParameterInstantiation: Type<TypeParameterInstantiation>;
@@ -1386,9 +1474,12 @@ export declare namespace namedTypes {
1386
1474
  let EmptyTypeAnnotation: Type<EmptyTypeAnnotation>;
1387
1475
  let MixedTypeAnnotation: Type<MixedTypeAnnotation>;
1388
1476
  let VoidTypeAnnotation: Type<VoidTypeAnnotation>;
1477
+ let SymbolTypeAnnotation: Type<SymbolTypeAnnotation>;
1389
1478
  let NumberTypeAnnotation: Type<NumberTypeAnnotation>;
1479
+ let BigIntTypeAnnotation: Type<BigIntTypeAnnotation>;
1390
1480
  let NumberLiteralTypeAnnotation: Type<NumberLiteralTypeAnnotation>;
1391
1481
  let NumericLiteralTypeAnnotation: Type<NumericLiteralTypeAnnotation>;
1482
+ let BigIntLiteralTypeAnnotation: Type<BigIntLiteralTypeAnnotation>;
1392
1483
  let StringTypeAnnotation: Type<StringTypeAnnotation>;
1393
1484
  let StringLiteralTypeAnnotation: Type<StringLiteralTypeAnnotation>;
1394
1485
  let BooleanTypeAnnotation: Type<BooleanTypeAnnotation>;
@@ -1421,38 +1512,40 @@ export declare namespace namedTypes {
1421
1512
  let InterfaceDeclaration: Type<InterfaceDeclaration>;
1422
1513
  let DeclareInterface: Type<DeclareInterface>;
1423
1514
  let TypeAlias: Type<TypeAlias>;
1424
- let OpaqueType: Type<OpaqueType>;
1425
1515
  let DeclareTypeAlias: Type<DeclareTypeAlias>;
1516
+ let OpaqueType: Type<OpaqueType>;
1426
1517
  let DeclareOpaqueType: Type<DeclareOpaqueType>;
1427
1518
  let TypeCastExpression: Type<TypeCastExpression>;
1428
1519
  let TupleTypeAnnotation: Type<TupleTypeAnnotation>;
1429
1520
  let DeclareVariable: Type<DeclareVariable>;
1430
1521
  let DeclareFunction: Type<DeclareFunction>;
1522
+ let FlowPredicate: Type<FlowPredicate>;
1431
1523
  let DeclareClass: Type<DeclareClass>;
1432
1524
  let DeclareModule: Type<DeclareModule>;
1433
1525
  let DeclareModuleExports: Type<DeclareModuleExports>;
1434
1526
  let DeclareExportDeclaration: Type<DeclareExportDeclaration>;
1435
- let ExportSpecifier: Type<ExportSpecifier>;
1436
1527
  let ExportBatchSpecifier: Type<ExportBatchSpecifier>;
1437
1528
  let DeclareExportAllDeclaration: Type<DeclareExportAllDeclaration>;
1438
- let FlowPredicate: Type<FlowPredicate>;
1439
1529
  let InferredPredicate: Type<InferredPredicate>;
1440
1530
  let DeclaredPredicate: Type<DeclaredPredicate>;
1531
+ let EnumDeclaration: Type<EnumDeclaration>;
1532
+ let EnumBooleanBody: Type<EnumBooleanBody>;
1533
+ let EnumNumberBody: Type<EnumNumberBody>;
1534
+ let EnumStringBody: Type<EnumStringBody>;
1535
+ let EnumSymbolBody: Type<EnumSymbolBody>;
1536
+ let EnumBooleanMember: Type<EnumBooleanMember>;
1537
+ let EnumNumberMember: Type<EnumNumberMember>;
1538
+ let EnumStringMember: Type<EnumStringMember>;
1539
+ let EnumDefaultedMember: Type<EnumDefaultedMember>;
1441
1540
  let ExportDeclaration: Type<ExportDeclaration>;
1442
1541
  let Block: Type<Block>;
1443
1542
  let Line: Type<Line>;
1444
1543
  let Noop: Type<Noop>;
1445
1544
  let DoExpression: Type<DoExpression>;
1446
- let Super: Type<Super>;
1447
1545
  let BindExpression: Type<BindExpression>;
1448
- let Decorator: Type<Decorator>;
1449
- let MetaProperty: Type<MetaProperty>;
1450
1546
  let ParenthesizedExpression: Type<ParenthesizedExpression>;
1451
- let ExportDefaultDeclaration: Type<ExportDefaultDeclaration>;
1452
- let ExportNamedDeclaration: Type<ExportNamedDeclaration>;
1453
1547
  let ExportNamespaceSpecifier: Type<ExportNamespaceSpecifier>;
1454
1548
  let ExportDefaultSpecifier: Type<ExportDefaultSpecifier>;
1455
- let ExportAllDeclaration: Type<ExportAllDeclaration>;
1456
1549
  let CommentBlock: Type<CommentBlock>;
1457
1550
  let CommentLine: Type<CommentLine>;
1458
1551
  let Directive: Type<Directive>;
@@ -1465,10 +1558,8 @@ export declare namespace namedTypes {
1465
1558
  let BooleanLiteral: Type<BooleanLiteral>;
1466
1559
  let RegExpLiteral: Type<RegExpLiteral>;
1467
1560
  let ObjectMethod: Type<ObjectMethod>;
1468
- let ClassPrivateProperty: Type<ClassPrivateProperty>;
1469
1561
  let ClassMethod: Type<ClassMethod>;
1470
1562
  let ClassPrivateMethod: Type<ClassPrivateMethod>;
1471
- let PrivateName: Type<PrivateName>;
1472
1563
  let RestProperty: Type<RestProperty>;
1473
1564
  let ForAwaitStatement: Type<ForAwaitStatement>;
1474
1565
  let Import: Type<Import>;
@@ -1505,6 +1596,7 @@ export declare namespace namedTypes {
1505
1596
  let TSDeclareMethod: Type<TSDeclareMethod>;
1506
1597
  let TSMappedType: Type<TSMappedType>;
1507
1598
  let TSTupleType: Type<TSTupleType>;
1599
+ let TSNamedTupleMember: Type<TSNamedTupleMember>;
1508
1600
  let TSRestType: Type<TSRestType>;
1509
1601
  let TSOptionalType: Type<TSOptionalType>;
1510
1602
  let TSIndexedAccessType: Type<TSIndexedAccessType>;
@@ -1531,8 +1623,6 @@ export declare namespace namedTypes {
1531
1623
  let TSInterfaceBody: Type<TSInterfaceBody>;
1532
1624
  let TSInterfaceDeclaration: Type<TSInterfaceDeclaration>;
1533
1625
  let TSParameterProperty: Type<TSParameterProperty>;
1534
- let OptionalMemberExpression: Type<OptionalMemberExpression>;
1535
- let OptionalCallExpression: Type<OptionalCallExpression>;
1536
1626
  }
1537
1627
  export interface NamedTypes {
1538
1628
  Printable: Type<namedTypes.Printable>;
@@ -1580,6 +1670,7 @@ export interface NamedTypes {
1580
1670
  UnaryExpression: Type<namedTypes.UnaryExpression>;
1581
1671
  BinaryExpression: Type<namedTypes.BinaryExpression>;
1582
1672
  AssignmentExpression: Type<namedTypes.AssignmentExpression>;
1673
+ ChainElement: Type<namedTypes.ChainElement>;
1583
1674
  MemberExpression: Type<namedTypes.MemberExpression>;
1584
1675
  UpdateExpression: Type<namedTypes.UpdateExpression>;
1585
1676
  LogicalExpression: Type<namedTypes.LogicalExpression>;
@@ -1600,42 +1691,54 @@ export interface NamedTypes {
1600
1691
  PropertyPattern: Type<namedTypes.PropertyPattern>;
1601
1692
  ObjectPattern: Type<namedTypes.ObjectPattern>;
1602
1693
  ArrayPattern: Type<namedTypes.ArrayPattern>;
1603
- MethodDefinition: Type<namedTypes.MethodDefinition>;
1604
1694
  SpreadElement: Type<namedTypes.SpreadElement>;
1605
1695
  AssignmentPattern: Type<namedTypes.AssignmentPattern>;
1696
+ MethodDefinition: Type<namedTypes.MethodDefinition>;
1606
1697
  ClassPropertyDefinition: Type<namedTypes.ClassPropertyDefinition>;
1607
1698
  ClassProperty: Type<namedTypes.ClassProperty>;
1608
1699
  ClassBody: Type<namedTypes.ClassBody>;
1609
1700
  ClassDeclaration: Type<namedTypes.ClassDeclaration>;
1610
1701
  ClassExpression: Type<namedTypes.ClassExpression>;
1702
+ Super: Type<namedTypes.Super>;
1611
1703
  Specifier: Type<namedTypes.Specifier>;
1612
1704
  ModuleSpecifier: Type<namedTypes.ModuleSpecifier>;
1613
1705
  ImportSpecifier: Type<namedTypes.ImportSpecifier>;
1614
- ImportNamespaceSpecifier: Type<namedTypes.ImportNamespaceSpecifier>;
1615
1706
  ImportDefaultSpecifier: Type<namedTypes.ImportDefaultSpecifier>;
1707
+ ImportNamespaceSpecifier: Type<namedTypes.ImportNamespaceSpecifier>;
1616
1708
  ImportDeclaration: Type<namedTypes.ImportDeclaration>;
1709
+ ExportNamedDeclaration: Type<namedTypes.ExportNamedDeclaration>;
1710
+ ExportSpecifier: Type<namedTypes.ExportSpecifier>;
1711
+ ExportDefaultDeclaration: Type<namedTypes.ExportDefaultDeclaration>;
1712
+ ExportAllDeclaration: Type<namedTypes.ExportAllDeclaration>;
1617
1713
  TaggedTemplateExpression: Type<namedTypes.TaggedTemplateExpression>;
1618
1714
  TemplateLiteral: Type<namedTypes.TemplateLiteral>;
1619
1715
  TemplateElement: Type<namedTypes.TemplateElement>;
1716
+ MetaProperty: Type<namedTypes.MetaProperty>;
1717
+ AwaitExpression: Type<namedTypes.AwaitExpression>;
1620
1718
  SpreadProperty: Type<namedTypes.SpreadProperty>;
1621
1719
  SpreadPropertyPattern: Type<namedTypes.SpreadPropertyPattern>;
1622
- AwaitExpression: Type<namedTypes.AwaitExpression>;
1623
1720
  ImportExpression: Type<namedTypes.ImportExpression>;
1721
+ ChainExpression: Type<namedTypes.ChainExpression>;
1722
+ OptionalCallExpression: Type<namedTypes.OptionalCallExpression>;
1723
+ OptionalMemberExpression: Type<namedTypes.OptionalMemberExpression>;
1624
1724
  JSXAttribute: Type<namedTypes.JSXAttribute>;
1625
1725
  JSXIdentifier: Type<namedTypes.JSXIdentifier>;
1626
1726
  JSXNamespacedName: Type<namedTypes.JSXNamespacedName>;
1627
1727
  JSXExpressionContainer: Type<namedTypes.JSXExpressionContainer>;
1728
+ JSXElement: Type<namedTypes.JSXElement>;
1729
+ JSXFragment: Type<namedTypes.JSXFragment>;
1628
1730
  JSXMemberExpression: Type<namedTypes.JSXMemberExpression>;
1629
1731
  JSXSpreadAttribute: Type<namedTypes.JSXSpreadAttribute>;
1630
- JSXElement: Type<namedTypes.JSXElement>;
1732
+ JSXEmptyExpression: Type<namedTypes.JSXEmptyExpression>;
1733
+ JSXText: Type<namedTypes.JSXText>;
1734
+ JSXSpreadChild: Type<namedTypes.JSXSpreadChild>;
1631
1735
  JSXOpeningElement: Type<namedTypes.JSXOpeningElement>;
1632
1736
  JSXClosingElement: Type<namedTypes.JSXClosingElement>;
1633
- JSXFragment: Type<namedTypes.JSXFragment>;
1634
- JSXText: Type<namedTypes.JSXText>;
1635
1737
  JSXOpeningFragment: Type<namedTypes.JSXOpeningFragment>;
1636
1738
  JSXClosingFragment: Type<namedTypes.JSXClosingFragment>;
1637
- JSXEmptyExpression: Type<namedTypes.JSXEmptyExpression>;
1638
- JSXSpreadChild: Type<namedTypes.JSXSpreadChild>;
1739
+ Decorator: Type<namedTypes.Decorator>;
1740
+ PrivateName: Type<namedTypes.PrivateName>;
1741
+ ClassPrivateProperty: Type<namedTypes.ClassPrivateProperty>;
1639
1742
  TypeParameterDeclaration: Type<namedTypes.TypeParameterDeclaration>;
1640
1743
  TSTypeParameterDeclaration: Type<namedTypes.TSTypeParameterDeclaration>;
1641
1744
  TypeParameterInstantiation: Type<namedTypes.TypeParameterInstantiation>;
@@ -1650,9 +1753,12 @@ export interface NamedTypes {
1650
1753
  EmptyTypeAnnotation: Type<namedTypes.EmptyTypeAnnotation>;
1651
1754
  MixedTypeAnnotation: Type<namedTypes.MixedTypeAnnotation>;
1652
1755
  VoidTypeAnnotation: Type<namedTypes.VoidTypeAnnotation>;
1756
+ SymbolTypeAnnotation: Type<namedTypes.SymbolTypeAnnotation>;
1653
1757
  NumberTypeAnnotation: Type<namedTypes.NumberTypeAnnotation>;
1758
+ BigIntTypeAnnotation: Type<namedTypes.BigIntTypeAnnotation>;
1654
1759
  NumberLiteralTypeAnnotation: Type<namedTypes.NumberLiteralTypeAnnotation>;
1655
1760
  NumericLiteralTypeAnnotation: Type<namedTypes.NumericLiteralTypeAnnotation>;
1761
+ BigIntLiteralTypeAnnotation: Type<namedTypes.BigIntLiteralTypeAnnotation>;
1656
1762
  StringTypeAnnotation: Type<namedTypes.StringTypeAnnotation>;
1657
1763
  StringLiteralTypeAnnotation: Type<namedTypes.StringLiteralTypeAnnotation>;
1658
1764
  BooleanTypeAnnotation: Type<namedTypes.BooleanTypeAnnotation>;
@@ -1685,38 +1791,40 @@ export interface NamedTypes {
1685
1791
  InterfaceDeclaration: Type<namedTypes.InterfaceDeclaration>;
1686
1792
  DeclareInterface: Type<namedTypes.DeclareInterface>;
1687
1793
  TypeAlias: Type<namedTypes.TypeAlias>;
1688
- OpaqueType: Type<namedTypes.OpaqueType>;
1689
1794
  DeclareTypeAlias: Type<namedTypes.DeclareTypeAlias>;
1795
+ OpaqueType: Type<namedTypes.OpaqueType>;
1690
1796
  DeclareOpaqueType: Type<namedTypes.DeclareOpaqueType>;
1691
1797
  TypeCastExpression: Type<namedTypes.TypeCastExpression>;
1692
1798
  TupleTypeAnnotation: Type<namedTypes.TupleTypeAnnotation>;
1693
1799
  DeclareVariable: Type<namedTypes.DeclareVariable>;
1694
1800
  DeclareFunction: Type<namedTypes.DeclareFunction>;
1801
+ FlowPredicate: Type<namedTypes.FlowPredicate>;
1695
1802
  DeclareClass: Type<namedTypes.DeclareClass>;
1696
1803
  DeclareModule: Type<namedTypes.DeclareModule>;
1697
1804
  DeclareModuleExports: Type<namedTypes.DeclareModuleExports>;
1698
1805
  DeclareExportDeclaration: Type<namedTypes.DeclareExportDeclaration>;
1699
- ExportSpecifier: Type<namedTypes.ExportSpecifier>;
1700
1806
  ExportBatchSpecifier: Type<namedTypes.ExportBatchSpecifier>;
1701
1807
  DeclareExportAllDeclaration: Type<namedTypes.DeclareExportAllDeclaration>;
1702
- FlowPredicate: Type<namedTypes.FlowPredicate>;
1703
1808
  InferredPredicate: Type<namedTypes.InferredPredicate>;
1704
1809
  DeclaredPredicate: Type<namedTypes.DeclaredPredicate>;
1810
+ EnumDeclaration: Type<namedTypes.EnumDeclaration>;
1811
+ EnumBooleanBody: Type<namedTypes.EnumBooleanBody>;
1812
+ EnumNumberBody: Type<namedTypes.EnumNumberBody>;
1813
+ EnumStringBody: Type<namedTypes.EnumStringBody>;
1814
+ EnumSymbolBody: Type<namedTypes.EnumSymbolBody>;
1815
+ EnumBooleanMember: Type<namedTypes.EnumBooleanMember>;
1816
+ EnumNumberMember: Type<namedTypes.EnumNumberMember>;
1817
+ EnumStringMember: Type<namedTypes.EnumStringMember>;
1818
+ EnumDefaultedMember: Type<namedTypes.EnumDefaultedMember>;
1705
1819
  ExportDeclaration: Type<namedTypes.ExportDeclaration>;
1706
1820
  Block: Type<namedTypes.Block>;
1707
1821
  Line: Type<namedTypes.Line>;
1708
1822
  Noop: Type<namedTypes.Noop>;
1709
1823
  DoExpression: Type<namedTypes.DoExpression>;
1710
- Super: Type<namedTypes.Super>;
1711
1824
  BindExpression: Type<namedTypes.BindExpression>;
1712
- Decorator: Type<namedTypes.Decorator>;
1713
- MetaProperty: Type<namedTypes.MetaProperty>;
1714
1825
  ParenthesizedExpression: Type<namedTypes.ParenthesizedExpression>;
1715
- ExportDefaultDeclaration: Type<namedTypes.ExportDefaultDeclaration>;
1716
- ExportNamedDeclaration: Type<namedTypes.ExportNamedDeclaration>;
1717
1826
  ExportNamespaceSpecifier: Type<namedTypes.ExportNamespaceSpecifier>;
1718
1827
  ExportDefaultSpecifier: Type<namedTypes.ExportDefaultSpecifier>;
1719
- ExportAllDeclaration: Type<namedTypes.ExportAllDeclaration>;
1720
1828
  CommentBlock: Type<namedTypes.CommentBlock>;
1721
1829
  CommentLine: Type<namedTypes.CommentLine>;
1722
1830
  Directive: Type<namedTypes.Directive>;
@@ -1729,10 +1837,8 @@ export interface NamedTypes {
1729
1837
  BooleanLiteral: Type<namedTypes.BooleanLiteral>;
1730
1838
  RegExpLiteral: Type<namedTypes.RegExpLiteral>;
1731
1839
  ObjectMethod: Type<namedTypes.ObjectMethod>;
1732
- ClassPrivateProperty: Type<namedTypes.ClassPrivateProperty>;
1733
1840
  ClassMethod: Type<namedTypes.ClassMethod>;
1734
1841
  ClassPrivateMethod: Type<namedTypes.ClassPrivateMethod>;
1735
- PrivateName: Type<namedTypes.PrivateName>;
1736
1842
  RestProperty: Type<namedTypes.RestProperty>;
1737
1843
  ForAwaitStatement: Type<namedTypes.ForAwaitStatement>;
1738
1844
  Import: Type<namedTypes.Import>;
@@ -1769,6 +1875,7 @@ export interface NamedTypes {
1769
1875
  TSDeclareMethod: Type<namedTypes.TSDeclareMethod>;
1770
1876
  TSMappedType: Type<namedTypes.TSMappedType>;
1771
1877
  TSTupleType: Type<namedTypes.TSTupleType>;
1878
+ TSNamedTupleMember: Type<namedTypes.TSNamedTupleMember>;
1772
1879
  TSRestType: Type<namedTypes.TSRestType>;
1773
1880
  TSOptionalType: Type<namedTypes.TSOptionalType>;
1774
1881
  TSIndexedAccessType: Type<namedTypes.TSIndexedAccessType>;
@@ -1795,6 +1902,4 @@ export interface NamedTypes {
1795
1902
  TSInterfaceBody: Type<namedTypes.TSInterfaceBody>;
1796
1903
  TSInterfaceDeclaration: Type<namedTypes.TSInterfaceDeclaration>;
1797
1904
  TSParameterProperty: Type<namedTypes.TSParameterProperty>;
1798
- OptionalMemberExpression: Type<namedTypes.OptionalMemberExpression>;
1799
- OptionalCallExpression: Type<namedTypes.OptionalCallExpression>;
1800
1905
  }