ast-types 0.13.4 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/.github/workflows/main.yml +1 -1
  2. package/README.md +1 -1
  3. package/def/babel-core.js +20 -59
  4. package/def/babel.js +15 -2
  5. package/def/core.js +8 -8
  6. package/def/es-proposals.js +49 -20
  7. package/def/{es7.d.ts → es2016.d.ts} +0 -0
  8. package/def/es2016.js +14 -0
  9. package/def/es2017.d.ts +2 -0
  10. package/def/es2017.js +20 -0
  11. package/def/es2018.d.ts +2 -0
  12. package/def/{es7.js → es2018.js} +13 -13
  13. package/def/es2019.d.ts +2 -0
  14. package/def/es2019.js +17 -0
  15. package/def/es2020.js +36 -3
  16. package/def/es2021.d.ts +2 -0
  17. package/def/es2021.js +13 -0
  18. package/def/es2022.d.ts +2 -0
  19. package/def/es2022.js +16 -0
  20. package/def/es6.js +48 -22
  21. package/def/esprima.js +4 -4
  22. package/def/flow.js +85 -17
  23. package/def/jsx.js +27 -22
  24. package/def/operators/core.d.ts +5 -0
  25. package/def/operators/core.js +25 -0
  26. package/def/operators/es2016.d.ts +5 -0
  27. package/def/operators/es2016.js +19 -0
  28. package/def/operators/es2020.d.ts +5 -0
  29. package/def/operators/es2020.js +15 -0
  30. package/def/operators/es2021.d.ts +5 -0
  31. package/def/operators/es2021.js +18 -0
  32. package/def/type-annotations.js +2 -2
  33. package/def/typescript.js +11 -4
  34. package/fork.js +5 -5
  35. package/gen/builders.d.ts +489 -258
  36. package/gen/kinds.d.ts +61 -36
  37. package/gen/namedTypes.d.ts +334 -166
  38. package/gen/visitor.d.ts +47 -22
  39. package/lib/equiv.js +1 -1
  40. package/lib/node-path.js +3 -3
  41. package/lib/path-visitor.js +2 -2
  42. package/lib/path.d.ts +3 -3
  43. package/lib/path.js +1 -1
  44. package/lib/scope.d.ts +3 -2
  45. package/lib/scope.js +63 -26
  46. package/lib/shared.js +1 -1
  47. package/lib/types.js +6 -6
  48. package/main.js +9 -19
  49. package/package.json +15 -15
@@ -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";
@@ -420,16 +447,26 @@ export declare namespace namedTypes {
420
447
  interface TemplateLiteral extends Omit<Expression, "type"> {
421
448
  type: "TemplateLiteral";
422
449
  quasis: K.TemplateElementKind[];
423
- expressions: K.ExpressionKind[];
450
+ expressions: K.ExpressionKind[] | K.TSTypeKind[];
424
451
  }
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,72 @@ 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
+ }
494
+ interface StaticBlock extends Omit<Node, "type"> {
495
+ type: "StaticBlock";
496
+ body: K.StatementKind[];
497
+ }
498
+ interface Decorator extends Omit<Node, "type"> {
499
+ type: "Decorator";
500
+ expression: K.ExpressionKind;
501
+ }
502
+ interface PrivateName extends Omit<Expression, "type">, Omit<Pattern, "type"> {
503
+ type: "PrivateName";
504
+ id: K.IdentifierKind;
505
+ }
506
+ interface ClassPrivateProperty extends Omit<ClassProperty, "type" | "key" | "value"> {
507
+ type: "ClassPrivateProperty";
508
+ key: K.PrivateNameKind;
509
+ value?: K.ExpressionKind | null;
510
+ }
511
+ interface ImportAttribute extends Omit<Node, "type"> {
512
+ type: "ImportAttribute";
513
+ key: K.IdentifierKind;
514
+ value: string;
515
+ }
516
+ interface RecordExpression extends Omit<Expression, "type"> {
517
+ type: "RecordExpression";
518
+ properties: (K.ObjectPropertyKind | K.ObjectMethodKind | K.SpreadElementKind)[];
519
+ }
520
+ interface ObjectMethod extends Omit<Node, "type">, Omit<Function, "type" | "params" | "body" | "generator" | "async"> {
521
+ type: "ObjectMethod";
522
+ kind: "method" | "get" | "set";
523
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
524
+ params: K.PatternKind[];
525
+ body: K.BlockStatementKind;
526
+ computed?: boolean;
527
+ generator?: boolean;
528
+ async?: boolean;
529
+ accessibility?: K.LiteralKind | null;
530
+ decorators?: K.DecoratorKind[] | null;
531
+ }
532
+ interface TupleExpression extends Omit<Expression, "type"> {
533
+ type: "TupleExpression";
534
+ elements: (K.ExpressionKind | K.SpreadElementKind | null)[];
535
+ }
536
+ interface ModuleExpression extends Omit<Node, "type"> {
537
+ type: "ModuleExpression";
538
+ body: K.ProgramKind;
539
+ }
450
540
  interface JSXAttribute extends Omit<Node, "type"> {
451
541
  type: "JSXAttribute";
452
542
  name: K.JSXIdentifierKind | K.JSXNamespacedNameKind;
453
- value?: K.LiteralKind | K.JSXExpressionContainerKind | null;
543
+ value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null;
454
544
  }
455
545
  interface JSXIdentifier extends Omit<Identifier, "type" | "name"> {
456
546
  type: "JSXIdentifier";
@@ -463,7 +553,22 @@ export declare namespace namedTypes {
463
553
  }
464
554
  interface JSXExpressionContainer extends Omit<Expression, "type"> {
465
555
  type: "JSXExpressionContainer";
466
- expression: K.ExpressionKind;
556
+ expression: K.ExpressionKind | K.JSXEmptyExpressionKind;
557
+ }
558
+ interface JSXElement extends Omit<Expression, "type"> {
559
+ type: "JSXElement";
560
+ openingElement: K.JSXOpeningElementKind;
561
+ closingElement?: K.JSXClosingElementKind | null;
562
+ children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[];
563
+ name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
564
+ selfClosing?: boolean;
565
+ attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
566
+ }
567
+ interface JSXFragment extends Omit<Expression, "type"> {
568
+ type: "JSXFragment";
569
+ openingFragment: K.JSXOpeningFragmentKind;
570
+ closingFragment: K.JSXClosingFragmentKind;
571
+ children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[];
467
572
  }
468
573
  interface JSXMemberExpression extends Omit<MemberExpression, "type" | "object" | "property" | "computed"> {
469
574
  type: "JSXMemberExpression";
@@ -475,14 +580,17 @@ export declare namespace namedTypes {
475
580
  type: "JSXSpreadAttribute";
476
581
  argument: K.ExpressionKind;
477
582
  }
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)[];
583
+ interface JSXEmptyExpression extends Omit<Node, "type"> {
584
+ type: "JSXEmptyExpression";
585
+ }
586
+ interface JSXText extends Omit<Literal, "type" | "value"> {
587
+ type: "JSXText";
588
+ value: string;
589
+ raw?: string;
590
+ }
591
+ interface JSXSpreadChild extends Omit<Node, "type"> {
592
+ type: "JSXSpreadChild";
593
+ expression: K.ExpressionKind;
486
594
  }
487
595
  interface JSXOpeningElement extends Omit<Node, "type"> {
488
596
  type: "JSXOpeningElement";
@@ -494,29 +602,12 @@ export declare namespace namedTypes {
494
602
  type: "JSXClosingElement";
495
603
  name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
496
604
  }
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
605
  interface JSXOpeningFragment extends Omit<Node, "type"> {
508
606
  type: "JSXOpeningFragment";
509
607
  }
510
608
  interface JSXClosingFragment extends Omit<Node, "type"> {
511
609
  type: "JSXClosingFragment";
512
610
  }
513
- interface JSXEmptyExpression extends Omit<Expression, "type"> {
514
- type: "JSXEmptyExpression";
515
- }
516
- interface JSXSpreadChild extends Omit<Expression, "type"> {
517
- type: "JSXSpreadChild";
518
- expression: K.ExpressionKind;
519
- }
520
611
  interface TypeParameterDeclaration extends Omit<Node, "type"> {
521
612
  type: "TypeParameterDeclaration";
522
613
  params: K.TypeParameterKind[];
@@ -564,9 +655,15 @@ export declare namespace namedTypes {
564
655
  interface VoidTypeAnnotation extends Omit<FlowType, "type"> {
565
656
  type: "VoidTypeAnnotation";
566
657
  }
658
+ interface SymbolTypeAnnotation extends Omit<FlowType, "type"> {
659
+ type: "SymbolTypeAnnotation";
660
+ }
567
661
  interface NumberTypeAnnotation extends Omit<FlowType, "type"> {
568
662
  type: "NumberTypeAnnotation";
569
663
  }
664
+ interface BigIntTypeAnnotation extends Omit<FlowType, "type"> {
665
+ type: "BigIntTypeAnnotation";
666
+ }
570
667
  interface NumberLiteralTypeAnnotation extends Omit<FlowType, "type"> {
571
668
  type: "NumberLiteralTypeAnnotation";
572
669
  value: number;
@@ -577,6 +674,11 @@ export declare namespace namedTypes {
577
674
  value: number;
578
675
  raw: string;
579
676
  }
677
+ interface BigIntLiteralTypeAnnotation extends Omit<FlowType, "type"> {
678
+ type: "BigIntLiteralTypeAnnotation";
679
+ value: null;
680
+ raw: string;
681
+ }
580
682
  interface StringTypeAnnotation extends Omit<FlowType, "type"> {
581
683
  type: "StringTypeAnnotation";
582
684
  }
@@ -621,7 +723,7 @@ export declare namespace namedTypes {
621
723
  }
622
724
  interface FunctionTypeParam extends Omit<Node, "type"> {
623
725
  type: "FunctionTypeParam";
624
- name: K.IdentifierKind;
726
+ name: K.IdentifierKind | null;
625
727
  typeAnnotation: K.FlowTypeKind;
626
728
  optional: boolean;
627
729
  }
@@ -655,6 +757,7 @@ export declare namespace namedTypes {
655
757
  key: K.FlowTypeKind;
656
758
  value: K.FlowTypeKind;
657
759
  variance?: K.VarianceKind | "plus" | "minus" | null;
760
+ static?: boolean;
658
761
  }
659
762
  interface ObjectTypeCallProperty extends Omit<Node, "type"> {
660
763
  type: "ObjectTypeCallProperty";
@@ -688,6 +791,17 @@ export declare namespace namedTypes {
688
791
  object: K.IdentifierKind;
689
792
  property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind;
690
793
  }
794
+ interface IndexedAccessType extends Omit<FlowType, "type"> {
795
+ type: "IndexedAccessType";
796
+ objectType: K.FlowTypeKind;
797
+ indexType: K.FlowTypeKind;
798
+ }
799
+ interface OptionalIndexedAccessType extends Omit<FlowType, "type"> {
800
+ type: "OptionalIndexedAccessType";
801
+ objectType: K.FlowTypeKind;
802
+ indexType: K.FlowTypeKind;
803
+ optional: boolean;
804
+ }
691
805
  interface UnionTypeAnnotation extends Omit<FlowType, "type"> {
692
806
  type: "UnionTypeAnnotation";
693
807
  types: K.FlowTypeKind[];
@@ -705,6 +819,7 @@ export declare namespace namedTypes {
705
819
  name: string;
706
820
  variance?: K.VarianceKind | "plus" | "minus" | null;
707
821
  bound?: K.TypeAnnotationKind | null;
822
+ default?: K.FlowTypeKind | null;
708
823
  }
709
824
  interface InterfaceTypeAnnotation extends Omit<FlowType, "type"> {
710
825
  type: "InterfaceTypeAnnotation";
@@ -732,18 +847,19 @@ export declare namespace namedTypes {
732
847
  typeParameters: K.TypeParameterDeclarationKind | null;
733
848
  right: K.FlowTypeKind;
734
849
  }
850
+ interface DeclareTypeAlias extends Omit<TypeAlias, "type"> {
851
+ type: "DeclareTypeAlias";
852
+ }
735
853
  interface OpaqueType extends Omit<Declaration, "type"> {
736
854
  type: "OpaqueType";
737
855
  id: K.IdentifierKind;
738
856
  typeParameters: K.TypeParameterDeclarationKind | null;
739
857
  impltype: K.FlowTypeKind;
740
- supertype: K.FlowTypeKind;
741
- }
742
- interface DeclareTypeAlias extends Omit<TypeAlias, "type"> {
743
- type: "DeclareTypeAlias";
858
+ supertype: K.FlowTypeKind | null;
744
859
  }
745
- interface DeclareOpaqueType extends Omit<TypeAlias, "type"> {
860
+ interface DeclareOpaqueType extends Omit<OpaqueType, "type" | "impltype"> {
746
861
  type: "DeclareOpaqueType";
862
+ impltype: K.FlowTypeKind | null;
747
863
  }
748
864
  interface TypeCastExpression extends Omit<Expression, "type"> {
749
865
  type: "TypeCastExpression";
@@ -761,6 +877,9 @@ export declare namespace namedTypes {
761
877
  interface DeclareFunction extends Omit<Statement, "type"> {
762
878
  type: "DeclareFunction";
763
879
  id: K.IdentifierKind;
880
+ predicate?: K.FlowPredicateKind | null;
881
+ }
882
+ interface FlowPredicate extends Flow {
764
883
  }
765
884
  interface DeclareClass extends Omit<InterfaceDeclaration, "type"> {
766
885
  type: "DeclareClass";
@@ -777,14 +896,10 @@ export declare namespace namedTypes {
777
896
  interface DeclareExportDeclaration extends Omit<Declaration, "type"> {
778
897
  type: "DeclareExportDeclaration";
779
898
  default: boolean;
780
- declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | null;
899
+ declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null;
781
900
  specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
782
901
  source?: K.LiteralKind | null;
783
902
  }
784
- interface ExportSpecifier extends Omit<ModuleSpecifier, "type"> {
785
- type: "ExportSpecifier";
786
- exported: K.IdentifierKind;
787
- }
788
903
  interface ExportBatchSpecifier extends Omit<Specifier, "type"> {
789
904
  type: "ExportBatchSpecifier";
790
905
  }
@@ -792,8 +907,6 @@ export declare namespace namedTypes {
792
907
  type: "DeclareExportAllDeclaration";
793
908
  source?: K.LiteralKind | null;
794
909
  }
795
- interface FlowPredicate extends Flow {
796
- }
797
910
  interface InferredPredicate extends Omit<FlowPredicate, "type"> {
798
911
  type: "InferredPredicate";
799
912
  }
@@ -801,6 +914,49 @@ export declare namespace namedTypes {
801
914
  type: "DeclaredPredicate";
802
915
  value: K.ExpressionKind;
803
916
  }
917
+ interface EnumDeclaration extends Omit<Declaration, "type"> {
918
+ type: "EnumDeclaration";
919
+ id: K.IdentifierKind;
920
+ body: K.EnumBooleanBodyKind | K.EnumNumberBodyKind | K.EnumStringBodyKind | K.EnumSymbolBodyKind;
921
+ }
922
+ interface EnumBooleanBody {
923
+ type: "EnumBooleanBody";
924
+ members: K.EnumBooleanMemberKind[];
925
+ explicitType: boolean;
926
+ }
927
+ interface EnumNumberBody {
928
+ type: "EnumNumberBody";
929
+ members: K.EnumNumberMemberKind[];
930
+ explicitType: boolean;
931
+ }
932
+ interface EnumStringBody {
933
+ type: "EnumStringBody";
934
+ members: K.EnumStringMemberKind[] | K.EnumDefaultedMemberKind[];
935
+ explicitType: boolean;
936
+ }
937
+ interface EnumSymbolBody {
938
+ type: "EnumSymbolBody";
939
+ members: K.EnumDefaultedMemberKind[];
940
+ }
941
+ interface EnumBooleanMember {
942
+ type: "EnumBooleanMember";
943
+ id: K.IdentifierKind;
944
+ init: K.LiteralKind | boolean;
945
+ }
946
+ interface EnumNumberMember {
947
+ type: "EnumNumberMember";
948
+ id: K.IdentifierKind;
949
+ init: K.LiteralKind;
950
+ }
951
+ interface EnumStringMember {
952
+ type: "EnumStringMember";
953
+ id: K.IdentifierKind;
954
+ init: K.LiteralKind;
955
+ }
956
+ interface EnumDefaultedMember {
957
+ type: "EnumDefaultedMember";
958
+ id: K.IdentifierKind;
959
+ }
804
960
  interface ExportDeclaration extends Omit<Declaration, "type"> {
805
961
  type: "ExportDeclaration";
806
962
  default: boolean;
@@ -821,37 +977,15 @@ export declare namespace namedTypes {
821
977
  type: "DoExpression";
822
978
  body: K.StatementKind[];
823
979
  }
824
- interface Super extends Omit<Expression, "type"> {
825
- type: "Super";
826
- }
827
980
  interface BindExpression extends Omit<Expression, "type"> {
828
981
  type: "BindExpression";
829
982
  object: K.ExpressionKind | null;
830
983
  callee: K.ExpressionKind;
831
984
  }
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
985
  interface ParenthesizedExpression extends Omit<Expression, "type"> {
842
986
  type: "ParenthesizedExpression";
843
987
  expression: K.ExpressionKind;
844
988
  }
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
989
  interface ExportNamespaceSpecifier extends Omit<Specifier, "type"> {
856
990
  type: "ExportNamespaceSpecifier";
857
991
  exported: K.IdentifierKind;
@@ -860,11 +994,6 @@ export declare namespace namedTypes {
860
994
  type: "ExportDefaultSpecifier";
861
995
  exported: K.IdentifierKind;
862
996
  }
863
- interface ExportAllDeclaration extends Omit<Declaration, "type"> {
864
- type: "ExportAllDeclaration";
865
- exported: K.IdentifierKind | null;
866
- source: K.LiteralKind;
867
- }
868
997
  interface CommentBlock extends Comment {
869
998
  type: "CommentBlock";
870
999
  }
@@ -904,6 +1033,14 @@ export declare namespace namedTypes {
904
1033
  raw: string;
905
1034
  };
906
1035
  }
1036
+ interface DecimalLiteral extends Omit<Literal, "type" | "value"> {
1037
+ type: "DecimalLiteral";
1038
+ value: string;
1039
+ extra?: {
1040
+ rawValue: string;
1041
+ raw: string;
1042
+ };
1043
+ }
907
1044
  interface NullLiteral extends Omit<Literal, "type" | "value"> {
908
1045
  type: "NullLiteral";
909
1046
  value?: null;
@@ -918,23 +1055,6 @@ export declare namespace namedTypes {
918
1055
  flags: string;
919
1056
  value?: RegExp;
920
1057
  }
921
- interface ObjectMethod extends Omit<Node, "type">, Omit<Function, "type" | "params" | "body" | "generator" | "async"> {
922
- type: "ObjectMethod";
923
- kind: "method" | "get" | "set";
924
- key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
925
- params: K.PatternKind[];
926
- body: K.BlockStatementKind;
927
- computed?: boolean;
928
- generator?: boolean;
929
- async?: boolean;
930
- accessibility?: K.LiteralKind | null;
931
- decorators?: K.DecoratorKind[] | null;
932
- }
933
- interface ClassPrivateProperty extends Omit<ClassProperty, "type" | "key" | "value"> {
934
- type: "ClassPrivateProperty";
935
- key: K.PrivateNameKind;
936
- value?: K.ExpressionKind | null;
937
- }
938
1058
  interface ClassMethod extends Omit<Declaration, "type">, Omit<Function, "type" | "body"> {
939
1059
  type: "ClassMethod";
940
1060
  key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
@@ -961,10 +1081,6 @@ export declare namespace namedTypes {
961
1081
  decorators?: K.DecoratorKind[] | null;
962
1082
  optional?: boolean | null;
963
1083
  }
964
- interface PrivateName extends Omit<Expression, "type">, Omit<Pattern, "type"> {
965
- type: "PrivateName";
966
- id: K.IdentifierKind;
967
- }
968
1084
  interface RestProperty extends Omit<Node, "type"> {
969
1085
  type: "RestProperty";
970
1086
  argument: K.ExpressionKind;
@@ -978,6 +1094,13 @@ export declare namespace namedTypes {
978
1094
  interface Import extends Omit<Expression, "type"> {
979
1095
  type: "Import";
980
1096
  }
1097
+ interface V8IntrinsicIdentifier extends Omit<Expression, "type"> {
1098
+ type: "V8IntrinsicIdentifier";
1099
+ name: string;
1100
+ }
1101
+ interface TopicReference extends Omit<Expression, "type"> {
1102
+ type: "TopicReference";
1103
+ }
981
1104
  interface TSQualifiedName extends Omit<Node, "type"> {
982
1105
  type: "TSQualifiedName";
983
1106
  left: K.IdentifierKind | K.TSQualifiedNameKind;
@@ -1041,6 +1164,9 @@ export declare namespace namedTypes {
1041
1164
  interface TSVoidKeyword extends Omit<TSType, "type"> {
1042
1165
  type: "TSVoidKeyword";
1043
1166
  }
1167
+ interface TSIntrinsicKeyword extends Omit<TSType, "type"> {
1168
+ type: "TSIntrinsicKeyword";
1169
+ }
1044
1170
  interface TSThisType extends Omit<TSType, "type"> {
1045
1171
  type: "TSThisType";
1046
1172
  }
@@ -1269,15 +1395,7 @@ export declare namespace namedTypes {
1269
1395
  readonly?: boolean;
1270
1396
  parameter: K.IdentifierKind | K.AssignmentPatternKind;
1271
1397
  }
1272
- interface OptionalMemberExpression extends Omit<MemberExpression, "type"> {
1273
- type: "OptionalMemberExpression";
1274
- optional?: boolean;
1275
- }
1276
- interface OptionalCallExpression extends Omit<CallExpression, "type"> {
1277
- type: "OptionalCallExpression";
1278
- optional?: boolean;
1279
- }
1280
- 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 | 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 | OptionalMemberExpression | OptionalCallExpression;
1398
+ 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 | StaticBlock | Decorator | PrivateName | ClassPrivateProperty | ImportAttribute | RecordExpression | ObjectMethod | TupleExpression | ModuleExpression | JSXAttribute | JSXIdentifier | JSXNamespacedName | JSXExpressionContainer | JSXElement | JSXFragment | JSXMemberExpression | JSXSpreadAttribute | JSXEmptyExpression | JSXText | JSXSpreadChild | JSXOpeningElement | JSXClosingElement | JSXOpeningFragment | JSXClosingFragment | 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 | IndexedAccessType | OptionalIndexedAccessType | 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 | DecimalLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ClassMethod | ClassPrivateMethod | RestProperty | ForAwaitStatement | Import | V8IntrinsicIdentifier | TopicReference | TSQualifiedName | TSTypeReference | TSAsExpression | TSNonNullExpression | TSAnyKeyword | TSBigIntKeyword | TSBooleanKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSIntrinsicKeyword | 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;
1281
1399
  let Printable: Type<Printable>;
1282
1400
  let SourceLocation: Type<SourceLocation>;
1283
1401
  let Node: Type<Node>;
@@ -1323,6 +1441,7 @@ export declare namespace namedTypes {
1323
1441
  let UnaryExpression: Type<UnaryExpression>;
1324
1442
  let BinaryExpression: Type<BinaryExpression>;
1325
1443
  let AssignmentExpression: Type<AssignmentExpression>;
1444
+ let ChainElement: Type<ChainElement>;
1326
1445
  let MemberExpression: Type<MemberExpression>;
1327
1446
  let UpdateExpression: Type<UpdateExpression>;
1328
1447
  let LogicalExpression: Type<LogicalExpression>;
@@ -1343,42 +1462,60 @@ export declare namespace namedTypes {
1343
1462
  let PropertyPattern: Type<PropertyPattern>;
1344
1463
  let ObjectPattern: Type<ObjectPattern>;
1345
1464
  let ArrayPattern: Type<ArrayPattern>;
1346
- let MethodDefinition: Type<MethodDefinition>;
1347
1465
  let SpreadElement: Type<SpreadElement>;
1348
1466
  let AssignmentPattern: Type<AssignmentPattern>;
1467
+ let MethodDefinition: Type<MethodDefinition>;
1349
1468
  let ClassPropertyDefinition: Type<ClassPropertyDefinition>;
1350
1469
  let ClassProperty: Type<ClassProperty>;
1351
1470
  let ClassBody: Type<ClassBody>;
1352
1471
  let ClassDeclaration: Type<ClassDeclaration>;
1353
1472
  let ClassExpression: Type<ClassExpression>;
1473
+ let Super: Type<Super>;
1354
1474
  let Specifier: Type<Specifier>;
1355
1475
  let ModuleSpecifier: Type<ModuleSpecifier>;
1356
1476
  let ImportSpecifier: Type<ImportSpecifier>;
1357
- let ImportNamespaceSpecifier: Type<ImportNamespaceSpecifier>;
1358
1477
  let ImportDefaultSpecifier: Type<ImportDefaultSpecifier>;
1478
+ let ImportNamespaceSpecifier: Type<ImportNamespaceSpecifier>;
1359
1479
  let ImportDeclaration: Type<ImportDeclaration>;
1480
+ let ExportNamedDeclaration: Type<ExportNamedDeclaration>;
1481
+ let ExportSpecifier: Type<ExportSpecifier>;
1482
+ let ExportDefaultDeclaration: Type<ExportDefaultDeclaration>;
1483
+ let ExportAllDeclaration: Type<ExportAllDeclaration>;
1360
1484
  let TaggedTemplateExpression: Type<TaggedTemplateExpression>;
1361
1485
  let TemplateLiteral: Type<TemplateLiteral>;
1362
1486
  let TemplateElement: Type<TemplateElement>;
1487
+ let MetaProperty: Type<MetaProperty>;
1488
+ let AwaitExpression: Type<AwaitExpression>;
1363
1489
  let SpreadProperty: Type<SpreadProperty>;
1364
1490
  let SpreadPropertyPattern: Type<SpreadPropertyPattern>;
1365
- let AwaitExpression: Type<AwaitExpression>;
1366
1491
  let ImportExpression: Type<ImportExpression>;
1492
+ let ChainExpression: Type<ChainExpression>;
1493
+ let OptionalCallExpression: Type<OptionalCallExpression>;
1494
+ let OptionalMemberExpression: Type<OptionalMemberExpression>;
1495
+ let StaticBlock: Type<StaticBlock>;
1496
+ let Decorator: Type<Decorator>;
1497
+ let PrivateName: Type<PrivateName>;
1498
+ let ClassPrivateProperty: Type<ClassPrivateProperty>;
1499
+ let ImportAttribute: Type<ImportAttribute>;
1500
+ let RecordExpression: Type<RecordExpression>;
1501
+ let ObjectMethod: Type<ObjectMethod>;
1502
+ let TupleExpression: Type<TupleExpression>;
1503
+ let ModuleExpression: Type<ModuleExpression>;
1367
1504
  let JSXAttribute: Type<JSXAttribute>;
1368
1505
  let JSXIdentifier: Type<JSXIdentifier>;
1369
1506
  let JSXNamespacedName: Type<JSXNamespacedName>;
1370
1507
  let JSXExpressionContainer: Type<JSXExpressionContainer>;
1508
+ let JSXElement: Type<JSXElement>;
1509
+ let JSXFragment: Type<JSXFragment>;
1371
1510
  let JSXMemberExpression: Type<JSXMemberExpression>;
1372
1511
  let JSXSpreadAttribute: Type<JSXSpreadAttribute>;
1373
- let JSXElement: Type<JSXElement>;
1512
+ let JSXEmptyExpression: Type<JSXEmptyExpression>;
1513
+ let JSXText: Type<JSXText>;
1514
+ let JSXSpreadChild: Type<JSXSpreadChild>;
1374
1515
  let JSXOpeningElement: Type<JSXOpeningElement>;
1375
1516
  let JSXClosingElement: Type<JSXClosingElement>;
1376
- let JSXFragment: Type<JSXFragment>;
1377
- let JSXText: Type<JSXText>;
1378
1517
  let JSXOpeningFragment: Type<JSXOpeningFragment>;
1379
1518
  let JSXClosingFragment: Type<JSXClosingFragment>;
1380
- let JSXEmptyExpression: Type<JSXEmptyExpression>;
1381
- let JSXSpreadChild: Type<JSXSpreadChild>;
1382
1519
  let TypeParameterDeclaration: Type<TypeParameterDeclaration>;
1383
1520
  let TSTypeParameterDeclaration: Type<TSTypeParameterDeclaration>;
1384
1521
  let TypeParameterInstantiation: Type<TypeParameterInstantiation>;
@@ -1393,9 +1530,12 @@ export declare namespace namedTypes {
1393
1530
  let EmptyTypeAnnotation: Type<EmptyTypeAnnotation>;
1394
1531
  let MixedTypeAnnotation: Type<MixedTypeAnnotation>;
1395
1532
  let VoidTypeAnnotation: Type<VoidTypeAnnotation>;
1533
+ let SymbolTypeAnnotation: Type<SymbolTypeAnnotation>;
1396
1534
  let NumberTypeAnnotation: Type<NumberTypeAnnotation>;
1535
+ let BigIntTypeAnnotation: Type<BigIntTypeAnnotation>;
1397
1536
  let NumberLiteralTypeAnnotation: Type<NumberLiteralTypeAnnotation>;
1398
1537
  let NumericLiteralTypeAnnotation: Type<NumericLiteralTypeAnnotation>;
1538
+ let BigIntLiteralTypeAnnotation: Type<BigIntLiteralTypeAnnotation>;
1399
1539
  let StringTypeAnnotation: Type<StringTypeAnnotation>;
1400
1540
  let StringLiteralTypeAnnotation: Type<StringLiteralTypeAnnotation>;
1401
1541
  let BooleanTypeAnnotation: Type<BooleanTypeAnnotation>;
@@ -1419,6 +1559,8 @@ export declare namespace namedTypes {
1419
1559
  let QualifiedTypeIdentifier: Type<QualifiedTypeIdentifier>;
1420
1560
  let GenericTypeAnnotation: Type<GenericTypeAnnotation>;
1421
1561
  let MemberTypeAnnotation: Type<MemberTypeAnnotation>;
1562
+ let IndexedAccessType: Type<IndexedAccessType>;
1563
+ let OptionalIndexedAccessType: Type<OptionalIndexedAccessType>;
1422
1564
  let UnionTypeAnnotation: Type<UnionTypeAnnotation>;
1423
1565
  let IntersectionTypeAnnotation: Type<IntersectionTypeAnnotation>;
1424
1566
  let TypeofTypeAnnotation: Type<TypeofTypeAnnotation>;
@@ -1428,38 +1570,40 @@ export declare namespace namedTypes {
1428
1570
  let InterfaceDeclaration: Type<InterfaceDeclaration>;
1429
1571
  let DeclareInterface: Type<DeclareInterface>;
1430
1572
  let TypeAlias: Type<TypeAlias>;
1431
- let OpaqueType: Type<OpaqueType>;
1432
1573
  let DeclareTypeAlias: Type<DeclareTypeAlias>;
1574
+ let OpaqueType: Type<OpaqueType>;
1433
1575
  let DeclareOpaqueType: Type<DeclareOpaqueType>;
1434
1576
  let TypeCastExpression: Type<TypeCastExpression>;
1435
1577
  let TupleTypeAnnotation: Type<TupleTypeAnnotation>;
1436
1578
  let DeclareVariable: Type<DeclareVariable>;
1437
1579
  let DeclareFunction: Type<DeclareFunction>;
1580
+ let FlowPredicate: Type<FlowPredicate>;
1438
1581
  let DeclareClass: Type<DeclareClass>;
1439
1582
  let DeclareModule: Type<DeclareModule>;
1440
1583
  let DeclareModuleExports: Type<DeclareModuleExports>;
1441
1584
  let DeclareExportDeclaration: Type<DeclareExportDeclaration>;
1442
- let ExportSpecifier: Type<ExportSpecifier>;
1443
1585
  let ExportBatchSpecifier: Type<ExportBatchSpecifier>;
1444
1586
  let DeclareExportAllDeclaration: Type<DeclareExportAllDeclaration>;
1445
- let FlowPredicate: Type<FlowPredicate>;
1446
1587
  let InferredPredicate: Type<InferredPredicate>;
1447
1588
  let DeclaredPredicate: Type<DeclaredPredicate>;
1589
+ let EnumDeclaration: Type<EnumDeclaration>;
1590
+ let EnumBooleanBody: Type<EnumBooleanBody>;
1591
+ let EnumNumberBody: Type<EnumNumberBody>;
1592
+ let EnumStringBody: Type<EnumStringBody>;
1593
+ let EnumSymbolBody: Type<EnumSymbolBody>;
1594
+ let EnumBooleanMember: Type<EnumBooleanMember>;
1595
+ let EnumNumberMember: Type<EnumNumberMember>;
1596
+ let EnumStringMember: Type<EnumStringMember>;
1597
+ let EnumDefaultedMember: Type<EnumDefaultedMember>;
1448
1598
  let ExportDeclaration: Type<ExportDeclaration>;
1449
1599
  let Block: Type<Block>;
1450
1600
  let Line: Type<Line>;
1451
1601
  let Noop: Type<Noop>;
1452
1602
  let DoExpression: Type<DoExpression>;
1453
- let Super: Type<Super>;
1454
1603
  let BindExpression: Type<BindExpression>;
1455
- let Decorator: Type<Decorator>;
1456
- let MetaProperty: Type<MetaProperty>;
1457
1604
  let ParenthesizedExpression: Type<ParenthesizedExpression>;
1458
- let ExportDefaultDeclaration: Type<ExportDefaultDeclaration>;
1459
- let ExportNamedDeclaration: Type<ExportNamedDeclaration>;
1460
1605
  let ExportNamespaceSpecifier: Type<ExportNamespaceSpecifier>;
1461
1606
  let ExportDefaultSpecifier: Type<ExportDefaultSpecifier>;
1462
- let ExportAllDeclaration: Type<ExportAllDeclaration>;
1463
1607
  let CommentBlock: Type<CommentBlock>;
1464
1608
  let CommentLine: Type<CommentLine>;
1465
1609
  let Directive: Type<Directive>;
@@ -1468,17 +1612,17 @@ export declare namespace namedTypes {
1468
1612
  let StringLiteral: Type<StringLiteral>;
1469
1613
  let NumericLiteral: Type<NumericLiteral>;
1470
1614
  let BigIntLiteral: Type<BigIntLiteral>;
1615
+ let DecimalLiteral: Type<DecimalLiteral>;
1471
1616
  let NullLiteral: Type<NullLiteral>;
1472
1617
  let BooleanLiteral: Type<BooleanLiteral>;
1473
1618
  let RegExpLiteral: Type<RegExpLiteral>;
1474
- let ObjectMethod: Type<ObjectMethod>;
1475
- let ClassPrivateProperty: Type<ClassPrivateProperty>;
1476
1619
  let ClassMethod: Type<ClassMethod>;
1477
1620
  let ClassPrivateMethod: Type<ClassPrivateMethod>;
1478
- let PrivateName: Type<PrivateName>;
1479
1621
  let RestProperty: Type<RestProperty>;
1480
1622
  let ForAwaitStatement: Type<ForAwaitStatement>;
1481
1623
  let Import: Type<Import>;
1624
+ let V8IntrinsicIdentifier: Type<V8IntrinsicIdentifier>;
1625
+ let TopicReference: Type<TopicReference>;
1482
1626
  let TSQualifiedName: Type<TSQualifiedName>;
1483
1627
  let TSTypeReference: Type<TSTypeReference>;
1484
1628
  let TSHasOptionalTypeParameters: Type<TSHasOptionalTypeParameters>;
@@ -1497,6 +1641,7 @@ export declare namespace namedTypes {
1497
1641
  let TSUndefinedKeyword: Type<TSUndefinedKeyword>;
1498
1642
  let TSUnknownKeyword: Type<TSUnknownKeyword>;
1499
1643
  let TSVoidKeyword: Type<TSVoidKeyword>;
1644
+ let TSIntrinsicKeyword: Type<TSIntrinsicKeyword>;
1500
1645
  let TSThisType: Type<TSThisType>;
1501
1646
  let TSArrayType: Type<TSArrayType>;
1502
1647
  let TSLiteralType: Type<TSLiteralType>;
@@ -1539,8 +1684,6 @@ export declare namespace namedTypes {
1539
1684
  let TSInterfaceBody: Type<TSInterfaceBody>;
1540
1685
  let TSInterfaceDeclaration: Type<TSInterfaceDeclaration>;
1541
1686
  let TSParameterProperty: Type<TSParameterProperty>;
1542
- let OptionalMemberExpression: Type<OptionalMemberExpression>;
1543
- let OptionalCallExpression: Type<OptionalCallExpression>;
1544
1687
  }
1545
1688
  export interface NamedTypes {
1546
1689
  Printable: Type<namedTypes.Printable>;
@@ -1588,6 +1731,7 @@ export interface NamedTypes {
1588
1731
  UnaryExpression: Type<namedTypes.UnaryExpression>;
1589
1732
  BinaryExpression: Type<namedTypes.BinaryExpression>;
1590
1733
  AssignmentExpression: Type<namedTypes.AssignmentExpression>;
1734
+ ChainElement: Type<namedTypes.ChainElement>;
1591
1735
  MemberExpression: Type<namedTypes.MemberExpression>;
1592
1736
  UpdateExpression: Type<namedTypes.UpdateExpression>;
1593
1737
  LogicalExpression: Type<namedTypes.LogicalExpression>;
@@ -1608,42 +1752,60 @@ export interface NamedTypes {
1608
1752
  PropertyPattern: Type<namedTypes.PropertyPattern>;
1609
1753
  ObjectPattern: Type<namedTypes.ObjectPattern>;
1610
1754
  ArrayPattern: Type<namedTypes.ArrayPattern>;
1611
- MethodDefinition: Type<namedTypes.MethodDefinition>;
1612
1755
  SpreadElement: Type<namedTypes.SpreadElement>;
1613
1756
  AssignmentPattern: Type<namedTypes.AssignmentPattern>;
1757
+ MethodDefinition: Type<namedTypes.MethodDefinition>;
1614
1758
  ClassPropertyDefinition: Type<namedTypes.ClassPropertyDefinition>;
1615
1759
  ClassProperty: Type<namedTypes.ClassProperty>;
1616
1760
  ClassBody: Type<namedTypes.ClassBody>;
1617
1761
  ClassDeclaration: Type<namedTypes.ClassDeclaration>;
1618
1762
  ClassExpression: Type<namedTypes.ClassExpression>;
1763
+ Super: Type<namedTypes.Super>;
1619
1764
  Specifier: Type<namedTypes.Specifier>;
1620
1765
  ModuleSpecifier: Type<namedTypes.ModuleSpecifier>;
1621
1766
  ImportSpecifier: Type<namedTypes.ImportSpecifier>;
1622
- ImportNamespaceSpecifier: Type<namedTypes.ImportNamespaceSpecifier>;
1623
1767
  ImportDefaultSpecifier: Type<namedTypes.ImportDefaultSpecifier>;
1768
+ ImportNamespaceSpecifier: Type<namedTypes.ImportNamespaceSpecifier>;
1624
1769
  ImportDeclaration: Type<namedTypes.ImportDeclaration>;
1770
+ ExportNamedDeclaration: Type<namedTypes.ExportNamedDeclaration>;
1771
+ ExportSpecifier: Type<namedTypes.ExportSpecifier>;
1772
+ ExportDefaultDeclaration: Type<namedTypes.ExportDefaultDeclaration>;
1773
+ ExportAllDeclaration: Type<namedTypes.ExportAllDeclaration>;
1625
1774
  TaggedTemplateExpression: Type<namedTypes.TaggedTemplateExpression>;
1626
1775
  TemplateLiteral: Type<namedTypes.TemplateLiteral>;
1627
1776
  TemplateElement: Type<namedTypes.TemplateElement>;
1777
+ MetaProperty: Type<namedTypes.MetaProperty>;
1778
+ AwaitExpression: Type<namedTypes.AwaitExpression>;
1628
1779
  SpreadProperty: Type<namedTypes.SpreadProperty>;
1629
1780
  SpreadPropertyPattern: Type<namedTypes.SpreadPropertyPattern>;
1630
- AwaitExpression: Type<namedTypes.AwaitExpression>;
1631
1781
  ImportExpression: Type<namedTypes.ImportExpression>;
1782
+ ChainExpression: Type<namedTypes.ChainExpression>;
1783
+ OptionalCallExpression: Type<namedTypes.OptionalCallExpression>;
1784
+ OptionalMemberExpression: Type<namedTypes.OptionalMemberExpression>;
1785
+ StaticBlock: Type<namedTypes.StaticBlock>;
1786
+ Decorator: Type<namedTypes.Decorator>;
1787
+ PrivateName: Type<namedTypes.PrivateName>;
1788
+ ClassPrivateProperty: Type<namedTypes.ClassPrivateProperty>;
1789
+ ImportAttribute: Type<namedTypes.ImportAttribute>;
1790
+ RecordExpression: Type<namedTypes.RecordExpression>;
1791
+ ObjectMethod: Type<namedTypes.ObjectMethod>;
1792
+ TupleExpression: Type<namedTypes.TupleExpression>;
1793
+ ModuleExpression: Type<namedTypes.ModuleExpression>;
1632
1794
  JSXAttribute: Type<namedTypes.JSXAttribute>;
1633
1795
  JSXIdentifier: Type<namedTypes.JSXIdentifier>;
1634
1796
  JSXNamespacedName: Type<namedTypes.JSXNamespacedName>;
1635
1797
  JSXExpressionContainer: Type<namedTypes.JSXExpressionContainer>;
1798
+ JSXElement: Type<namedTypes.JSXElement>;
1799
+ JSXFragment: Type<namedTypes.JSXFragment>;
1636
1800
  JSXMemberExpression: Type<namedTypes.JSXMemberExpression>;
1637
1801
  JSXSpreadAttribute: Type<namedTypes.JSXSpreadAttribute>;
1638
- JSXElement: Type<namedTypes.JSXElement>;
1802
+ JSXEmptyExpression: Type<namedTypes.JSXEmptyExpression>;
1803
+ JSXText: Type<namedTypes.JSXText>;
1804
+ JSXSpreadChild: Type<namedTypes.JSXSpreadChild>;
1639
1805
  JSXOpeningElement: Type<namedTypes.JSXOpeningElement>;
1640
1806
  JSXClosingElement: Type<namedTypes.JSXClosingElement>;
1641
- JSXFragment: Type<namedTypes.JSXFragment>;
1642
- JSXText: Type<namedTypes.JSXText>;
1643
1807
  JSXOpeningFragment: Type<namedTypes.JSXOpeningFragment>;
1644
1808
  JSXClosingFragment: Type<namedTypes.JSXClosingFragment>;
1645
- JSXEmptyExpression: Type<namedTypes.JSXEmptyExpression>;
1646
- JSXSpreadChild: Type<namedTypes.JSXSpreadChild>;
1647
1809
  TypeParameterDeclaration: Type<namedTypes.TypeParameterDeclaration>;
1648
1810
  TSTypeParameterDeclaration: Type<namedTypes.TSTypeParameterDeclaration>;
1649
1811
  TypeParameterInstantiation: Type<namedTypes.TypeParameterInstantiation>;
@@ -1658,9 +1820,12 @@ export interface NamedTypes {
1658
1820
  EmptyTypeAnnotation: Type<namedTypes.EmptyTypeAnnotation>;
1659
1821
  MixedTypeAnnotation: Type<namedTypes.MixedTypeAnnotation>;
1660
1822
  VoidTypeAnnotation: Type<namedTypes.VoidTypeAnnotation>;
1823
+ SymbolTypeAnnotation: Type<namedTypes.SymbolTypeAnnotation>;
1661
1824
  NumberTypeAnnotation: Type<namedTypes.NumberTypeAnnotation>;
1825
+ BigIntTypeAnnotation: Type<namedTypes.BigIntTypeAnnotation>;
1662
1826
  NumberLiteralTypeAnnotation: Type<namedTypes.NumberLiteralTypeAnnotation>;
1663
1827
  NumericLiteralTypeAnnotation: Type<namedTypes.NumericLiteralTypeAnnotation>;
1828
+ BigIntLiteralTypeAnnotation: Type<namedTypes.BigIntLiteralTypeAnnotation>;
1664
1829
  StringTypeAnnotation: Type<namedTypes.StringTypeAnnotation>;
1665
1830
  StringLiteralTypeAnnotation: Type<namedTypes.StringLiteralTypeAnnotation>;
1666
1831
  BooleanTypeAnnotation: Type<namedTypes.BooleanTypeAnnotation>;
@@ -1684,6 +1849,8 @@ export interface NamedTypes {
1684
1849
  QualifiedTypeIdentifier: Type<namedTypes.QualifiedTypeIdentifier>;
1685
1850
  GenericTypeAnnotation: Type<namedTypes.GenericTypeAnnotation>;
1686
1851
  MemberTypeAnnotation: Type<namedTypes.MemberTypeAnnotation>;
1852
+ IndexedAccessType: Type<namedTypes.IndexedAccessType>;
1853
+ OptionalIndexedAccessType: Type<namedTypes.OptionalIndexedAccessType>;
1687
1854
  UnionTypeAnnotation: Type<namedTypes.UnionTypeAnnotation>;
1688
1855
  IntersectionTypeAnnotation: Type<namedTypes.IntersectionTypeAnnotation>;
1689
1856
  TypeofTypeAnnotation: Type<namedTypes.TypeofTypeAnnotation>;
@@ -1693,38 +1860,40 @@ export interface NamedTypes {
1693
1860
  InterfaceDeclaration: Type<namedTypes.InterfaceDeclaration>;
1694
1861
  DeclareInterface: Type<namedTypes.DeclareInterface>;
1695
1862
  TypeAlias: Type<namedTypes.TypeAlias>;
1696
- OpaqueType: Type<namedTypes.OpaqueType>;
1697
1863
  DeclareTypeAlias: Type<namedTypes.DeclareTypeAlias>;
1864
+ OpaqueType: Type<namedTypes.OpaqueType>;
1698
1865
  DeclareOpaqueType: Type<namedTypes.DeclareOpaqueType>;
1699
1866
  TypeCastExpression: Type<namedTypes.TypeCastExpression>;
1700
1867
  TupleTypeAnnotation: Type<namedTypes.TupleTypeAnnotation>;
1701
1868
  DeclareVariable: Type<namedTypes.DeclareVariable>;
1702
1869
  DeclareFunction: Type<namedTypes.DeclareFunction>;
1870
+ FlowPredicate: Type<namedTypes.FlowPredicate>;
1703
1871
  DeclareClass: Type<namedTypes.DeclareClass>;
1704
1872
  DeclareModule: Type<namedTypes.DeclareModule>;
1705
1873
  DeclareModuleExports: Type<namedTypes.DeclareModuleExports>;
1706
1874
  DeclareExportDeclaration: Type<namedTypes.DeclareExportDeclaration>;
1707
- ExportSpecifier: Type<namedTypes.ExportSpecifier>;
1708
1875
  ExportBatchSpecifier: Type<namedTypes.ExportBatchSpecifier>;
1709
1876
  DeclareExportAllDeclaration: Type<namedTypes.DeclareExportAllDeclaration>;
1710
- FlowPredicate: Type<namedTypes.FlowPredicate>;
1711
1877
  InferredPredicate: Type<namedTypes.InferredPredicate>;
1712
1878
  DeclaredPredicate: Type<namedTypes.DeclaredPredicate>;
1879
+ EnumDeclaration: Type<namedTypes.EnumDeclaration>;
1880
+ EnumBooleanBody: Type<namedTypes.EnumBooleanBody>;
1881
+ EnumNumberBody: Type<namedTypes.EnumNumberBody>;
1882
+ EnumStringBody: Type<namedTypes.EnumStringBody>;
1883
+ EnumSymbolBody: Type<namedTypes.EnumSymbolBody>;
1884
+ EnumBooleanMember: Type<namedTypes.EnumBooleanMember>;
1885
+ EnumNumberMember: Type<namedTypes.EnumNumberMember>;
1886
+ EnumStringMember: Type<namedTypes.EnumStringMember>;
1887
+ EnumDefaultedMember: Type<namedTypes.EnumDefaultedMember>;
1713
1888
  ExportDeclaration: Type<namedTypes.ExportDeclaration>;
1714
1889
  Block: Type<namedTypes.Block>;
1715
1890
  Line: Type<namedTypes.Line>;
1716
1891
  Noop: Type<namedTypes.Noop>;
1717
1892
  DoExpression: Type<namedTypes.DoExpression>;
1718
- Super: Type<namedTypes.Super>;
1719
1893
  BindExpression: Type<namedTypes.BindExpression>;
1720
- Decorator: Type<namedTypes.Decorator>;
1721
- MetaProperty: Type<namedTypes.MetaProperty>;
1722
1894
  ParenthesizedExpression: Type<namedTypes.ParenthesizedExpression>;
1723
- ExportDefaultDeclaration: Type<namedTypes.ExportDefaultDeclaration>;
1724
- ExportNamedDeclaration: Type<namedTypes.ExportNamedDeclaration>;
1725
1895
  ExportNamespaceSpecifier: Type<namedTypes.ExportNamespaceSpecifier>;
1726
1896
  ExportDefaultSpecifier: Type<namedTypes.ExportDefaultSpecifier>;
1727
- ExportAllDeclaration: Type<namedTypes.ExportAllDeclaration>;
1728
1897
  CommentBlock: Type<namedTypes.CommentBlock>;
1729
1898
  CommentLine: Type<namedTypes.CommentLine>;
1730
1899
  Directive: Type<namedTypes.Directive>;
@@ -1733,17 +1902,17 @@ export interface NamedTypes {
1733
1902
  StringLiteral: Type<namedTypes.StringLiteral>;
1734
1903
  NumericLiteral: Type<namedTypes.NumericLiteral>;
1735
1904
  BigIntLiteral: Type<namedTypes.BigIntLiteral>;
1905
+ DecimalLiteral: Type<namedTypes.DecimalLiteral>;
1736
1906
  NullLiteral: Type<namedTypes.NullLiteral>;
1737
1907
  BooleanLiteral: Type<namedTypes.BooleanLiteral>;
1738
1908
  RegExpLiteral: Type<namedTypes.RegExpLiteral>;
1739
- ObjectMethod: Type<namedTypes.ObjectMethod>;
1740
- ClassPrivateProperty: Type<namedTypes.ClassPrivateProperty>;
1741
1909
  ClassMethod: Type<namedTypes.ClassMethod>;
1742
1910
  ClassPrivateMethod: Type<namedTypes.ClassPrivateMethod>;
1743
- PrivateName: Type<namedTypes.PrivateName>;
1744
1911
  RestProperty: Type<namedTypes.RestProperty>;
1745
1912
  ForAwaitStatement: Type<namedTypes.ForAwaitStatement>;
1746
1913
  Import: Type<namedTypes.Import>;
1914
+ V8IntrinsicIdentifier: Type<namedTypes.V8IntrinsicIdentifier>;
1915
+ TopicReference: Type<namedTypes.TopicReference>;
1747
1916
  TSQualifiedName: Type<namedTypes.TSQualifiedName>;
1748
1917
  TSTypeReference: Type<namedTypes.TSTypeReference>;
1749
1918
  TSHasOptionalTypeParameters: Type<namedTypes.TSHasOptionalTypeParameters>;
@@ -1762,6 +1931,7 @@ export interface NamedTypes {
1762
1931
  TSUndefinedKeyword: Type<namedTypes.TSUndefinedKeyword>;
1763
1932
  TSUnknownKeyword: Type<namedTypes.TSUnknownKeyword>;
1764
1933
  TSVoidKeyword: Type<namedTypes.TSVoidKeyword>;
1934
+ TSIntrinsicKeyword: Type<namedTypes.TSIntrinsicKeyword>;
1765
1935
  TSThisType: Type<namedTypes.TSThisType>;
1766
1936
  TSArrayType: Type<namedTypes.TSArrayType>;
1767
1937
  TSLiteralType: Type<namedTypes.TSLiteralType>;
@@ -1804,6 +1974,4 @@ export interface NamedTypes {
1804
1974
  TSInterfaceBody: Type<namedTypes.TSInterfaceBody>;
1805
1975
  TSInterfaceDeclaration: Type<namedTypes.TSInterfaceDeclaration>;
1806
1976
  TSParameterProperty: Type<namedTypes.TSParameterProperty>;
1807
- OptionalMemberExpression: Type<namedTypes.OptionalMemberExpression>;
1808
- OptionalCallExpression: Type<namedTypes.OptionalCallExpression>;
1809
1977
  }