hermes-estree 0.5.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.
@@ -0,0 +1,3138 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ * @format
9
+ */
10
+
11
+ 'use strict';
12
+
13
+ import type {
14
+ AnyTypeAnnotation,
15
+ ArrayExpression,
16
+ ArrayPattern,
17
+ ArrayTypeAnnotation,
18
+ ArrowFunctionExpression,
19
+ AssignmentExpression,
20
+ AssignmentPattern,
21
+ AwaitExpression,
22
+ BinaryExpression,
23
+ BlockStatement,
24
+ BooleanLiteralTypeAnnotation,
25
+ BooleanTypeAnnotation,
26
+ BreakStatement,
27
+ CallExpression,
28
+ CatchClause,
29
+ ClassBody,
30
+ ClassDeclaration,
31
+ ClassExpression,
32
+ ClassImplements,
33
+ ClassPrivateProperty,
34
+ ClassProperty,
35
+ ConditionalExpression,
36
+ ContinueStatement,
37
+ DebuggerStatement,
38
+ DeclareClass,
39
+ DeclaredPredicate,
40
+ DeclareExportAllDeclaration,
41
+ DeclareExportDeclaration,
42
+ DeclareFunction,
43
+ DeclareInterface,
44
+ DeclareModule,
45
+ DeclareModuleExports,
46
+ DeclareOpaqueType,
47
+ DeclareTypeAlias,
48
+ DeclareVariable,
49
+ DoWhileStatement,
50
+ EmptyStatement,
51
+ EmptyTypeAnnotation,
52
+ EnumBooleanBody,
53
+ EnumBooleanMember,
54
+ EnumDeclaration,
55
+ EnumDefaultedMember,
56
+ EnumNumberBody,
57
+ EnumNumberMember,
58
+ EnumStringBody,
59
+ EnumStringMember,
60
+ EnumSymbolBody,
61
+ ExistsTypeAnnotation,
62
+ ExportAllDeclaration,
63
+ ExportDefaultDeclaration,
64
+ ExportNamedDeclaration,
65
+ ExportNamespaceSpecifier,
66
+ ExportSpecifier,
67
+ ExpressionStatement,
68
+ ForInStatement,
69
+ ForOfStatement,
70
+ ForStatement,
71
+ FunctionDeclaration,
72
+ FunctionExpression,
73
+ FunctionTypeAnnotation,
74
+ FunctionTypeParam,
75
+ GenericTypeAnnotation,
76
+ Identifier,
77
+ IfStatement,
78
+ ImportAttribute,
79
+ ImportDeclaration,
80
+ ImportDefaultSpecifier,
81
+ ImportExpression,
82
+ ImportNamespaceSpecifier,
83
+ ImportSpecifier,
84
+ IndexedAccessType,
85
+ InferredPredicate,
86
+ InterfaceDeclaration,
87
+ InterfaceExtends,
88
+ InterfaceTypeAnnotation,
89
+ IntersectionTypeAnnotation,
90
+ JSXAttribute,
91
+ JSXClosingElement,
92
+ JSXClosingFragment,
93
+ JSXElement,
94
+ JSXEmptyExpression,
95
+ JSXExpressionContainer,
96
+ JSXFragment,
97
+ JSXIdentifier,
98
+ JSXMemberExpression,
99
+ JSXNamespacedName,
100
+ JSXOpeningElement,
101
+ JSXOpeningFragment,
102
+ JSXSpreadAttribute,
103
+ JSXSpreadChild,
104
+ JSXText,
105
+ LabeledStatement,
106
+ LogicalExpression,
107
+ MemberExpression,
108
+ MetaProperty,
109
+ MethodDefinition,
110
+ MixedTypeAnnotation,
111
+ NewExpression,
112
+ NullableTypeAnnotation,
113
+ NullLiteralTypeAnnotation,
114
+ NumberLiteralTypeAnnotation,
115
+ NumberTypeAnnotation,
116
+ ObjectExpression,
117
+ ObjectPattern,
118
+ ObjectTypeAnnotation,
119
+ ObjectTypeCallProperty,
120
+ ObjectTypeIndexer,
121
+ ObjectTypeInternalSlot,
122
+ ObjectTypeProperty,
123
+ ObjectTypeSpreadProperty,
124
+ OpaqueType,
125
+ OptionalCallExpression,
126
+ OptionalIndexedAccessType,
127
+ OptionalMemberExpression,
128
+ PrivateName,
129
+ Program,
130
+ Property,
131
+ QualifiedTypeIdentifier,
132
+ RestElement,
133
+ ReturnStatement,
134
+ SequenceExpression,
135
+ SpreadElement,
136
+ StringLiteralTypeAnnotation,
137
+ StringTypeAnnotation,
138
+ Super,
139
+ SwitchCase,
140
+ SwitchStatement,
141
+ SymbolTypeAnnotation,
142
+ TaggedTemplateExpression,
143
+ TemplateElement,
144
+ TemplateLiteral,
145
+ ThisExpression,
146
+ ThisTypeAnnotation,
147
+ ThrowStatement,
148
+ TryStatement,
149
+ TupleTypeAnnotation,
150
+ TypeAlias,
151
+ TypeAnnotation,
152
+ TypeCastExpression,
153
+ TypeofTypeAnnotation,
154
+ TypeParameter,
155
+ TypeParameterDeclaration,
156
+ TypeParameterInstantiation,
157
+ UnaryExpression,
158
+ UnionTypeAnnotation,
159
+ UpdateExpression,
160
+ VariableDeclaration,
161
+ VariableDeclarator,
162
+ Variance,
163
+ VoidTypeAnnotation,
164
+ WhileStatement,
165
+ WithStatement,
166
+ YieldExpression,
167
+ Literal,
168
+ } from '../types';
169
+
170
+ interface ArrayExpression_With_elements extends ArrayExpression {
171
+ +elements: $NonMaybeType<ArrayExpression['elements']>;
172
+ }
173
+ interface ArrayExpression_With_trailingComma extends ArrayExpression {
174
+ +trailingComma: $NonMaybeType<ArrayExpression['trailingComma']>;
175
+ }
176
+ interface ArrayPattern_With_elements extends ArrayPattern {
177
+ +elements: $NonMaybeType<ArrayPattern['elements']>;
178
+ }
179
+ interface ArrayPattern_With_typeAnnotation extends ArrayPattern {
180
+ +typeAnnotation: $NonMaybeType<ArrayPattern['typeAnnotation']>;
181
+ }
182
+ interface ArrayTypeAnnotation_With_elementType extends ArrayTypeAnnotation {
183
+ +elementType: $NonMaybeType<ArrayTypeAnnotation['elementType']>;
184
+ }
185
+ interface ArrowFunctionExpression_With_id extends ArrowFunctionExpression {
186
+ +id: $NonMaybeType<ArrowFunctionExpression['id']>;
187
+ }
188
+ interface ArrowFunctionExpression_With_params extends ArrowFunctionExpression {
189
+ +params: $NonMaybeType<ArrowFunctionExpression['params']>;
190
+ }
191
+ interface ArrowFunctionExpression_With_body extends ArrowFunctionExpression {
192
+ +body: $NonMaybeType<ArrowFunctionExpression['body']>;
193
+ }
194
+ interface ArrowFunctionExpression_With_typeParameters
195
+ extends ArrowFunctionExpression {
196
+ +typeParameters: $NonMaybeType<ArrowFunctionExpression['typeParameters']>;
197
+ }
198
+ interface ArrowFunctionExpression_With_returnType
199
+ extends ArrowFunctionExpression {
200
+ +returnType: $NonMaybeType<ArrowFunctionExpression['returnType']>;
201
+ }
202
+ interface ArrowFunctionExpression_With_predicate
203
+ extends ArrowFunctionExpression {
204
+ +predicate: $NonMaybeType<ArrowFunctionExpression['predicate']>;
205
+ }
206
+ interface ArrowFunctionExpression_With_expression
207
+ extends ArrowFunctionExpression {
208
+ +expression: $NonMaybeType<ArrowFunctionExpression['expression']>;
209
+ }
210
+ interface ArrowFunctionExpression_With_async extends ArrowFunctionExpression {
211
+ +async: $NonMaybeType<ArrowFunctionExpression['async']>;
212
+ }
213
+ interface AssignmentExpression_With_operator extends AssignmentExpression {
214
+ +operator: $NonMaybeType<AssignmentExpression['operator']>;
215
+ }
216
+ interface AssignmentExpression_With_left extends AssignmentExpression {
217
+ +left: $NonMaybeType<AssignmentExpression['left']>;
218
+ }
219
+ interface AssignmentExpression_With_right extends AssignmentExpression {
220
+ +right: $NonMaybeType<AssignmentExpression['right']>;
221
+ }
222
+ interface AssignmentPattern_With_left extends AssignmentPattern {
223
+ +left: $NonMaybeType<AssignmentPattern['left']>;
224
+ }
225
+ interface AssignmentPattern_With_right extends AssignmentPattern {
226
+ +right: $NonMaybeType<AssignmentPattern['right']>;
227
+ }
228
+ interface AwaitExpression_With_argument extends AwaitExpression {
229
+ +argument: $NonMaybeType<AwaitExpression['argument']>;
230
+ }
231
+ interface BinaryExpression_With_left extends BinaryExpression {
232
+ +left: $NonMaybeType<BinaryExpression['left']>;
233
+ }
234
+ interface BinaryExpression_With_right extends BinaryExpression {
235
+ +right: $NonMaybeType<BinaryExpression['right']>;
236
+ }
237
+ interface BinaryExpression_With_operator extends BinaryExpression {
238
+ +operator: $NonMaybeType<BinaryExpression['operator']>;
239
+ }
240
+ interface BlockStatement_With_body extends BlockStatement {
241
+ +body: $NonMaybeType<BlockStatement['body']>;
242
+ }
243
+ interface BooleanLiteralTypeAnnotation_With_value
244
+ extends BooleanLiteralTypeAnnotation {
245
+ +value: $NonMaybeType<BooleanLiteralTypeAnnotation['value']>;
246
+ }
247
+ interface BooleanLiteralTypeAnnotation_With_raw
248
+ extends BooleanLiteralTypeAnnotation {
249
+ +raw: $NonMaybeType<BooleanLiteralTypeAnnotation['raw']>;
250
+ }
251
+ interface BreakStatement_With_label extends BreakStatement {
252
+ +label: $NonMaybeType<BreakStatement['label']>;
253
+ }
254
+ interface CallExpression_With_callee extends CallExpression {
255
+ +callee: $NonMaybeType<CallExpression['callee']>;
256
+ }
257
+ interface CallExpression_With_typeArguments extends CallExpression {
258
+ +typeArguments: $NonMaybeType<CallExpression['typeArguments']>;
259
+ }
260
+ interface CallExpression_With_arguments extends CallExpression {
261
+ +arguments: $NonMaybeType<CallExpression['arguments']>;
262
+ }
263
+ interface CatchClause_With_param extends CatchClause {
264
+ +param: $NonMaybeType<CatchClause['param']>;
265
+ }
266
+ interface CatchClause_With_body extends CatchClause {
267
+ +body: $NonMaybeType<CatchClause['body']>;
268
+ }
269
+ interface ClassBody_With_body extends ClassBody {
270
+ +body: $NonMaybeType<ClassBody['body']>;
271
+ }
272
+ interface ClassDeclaration_With_id extends ClassDeclaration {
273
+ +id: $NonMaybeType<ClassDeclaration['id']>;
274
+ }
275
+ interface ClassDeclaration_With_typeParameters extends ClassDeclaration {
276
+ +typeParameters: $NonMaybeType<ClassDeclaration['typeParameters']>;
277
+ }
278
+ interface ClassDeclaration_With_superClass extends ClassDeclaration {
279
+ +superClass: $NonMaybeType<ClassDeclaration['superClass']>;
280
+ }
281
+ interface ClassDeclaration_With_superTypeParameters extends ClassDeclaration {
282
+ +superTypeParameters: $NonMaybeType<ClassDeclaration['superTypeParameters']>;
283
+ }
284
+ interface ClassDeclaration_With_implements extends ClassDeclaration {
285
+ +implements: $NonMaybeType<ClassDeclaration['implements']>;
286
+ }
287
+ interface ClassDeclaration_With_decorators extends ClassDeclaration {
288
+ +decorators: $NonMaybeType<ClassDeclaration['decorators']>;
289
+ }
290
+ interface ClassDeclaration_With_body extends ClassDeclaration {
291
+ +body: $NonMaybeType<ClassDeclaration['body']>;
292
+ }
293
+ interface ClassExpression_With_id extends ClassExpression {
294
+ +id: $NonMaybeType<ClassExpression['id']>;
295
+ }
296
+ interface ClassExpression_With_typeParameters extends ClassExpression {
297
+ +typeParameters: $NonMaybeType<ClassExpression['typeParameters']>;
298
+ }
299
+ interface ClassExpression_With_superClass extends ClassExpression {
300
+ +superClass: $NonMaybeType<ClassExpression['superClass']>;
301
+ }
302
+ interface ClassExpression_With_superTypeParameters extends ClassExpression {
303
+ +superTypeParameters: $NonMaybeType<ClassExpression['superTypeParameters']>;
304
+ }
305
+ interface ClassExpression_With_implements extends ClassExpression {
306
+ +implements: $NonMaybeType<ClassExpression['implements']>;
307
+ }
308
+ interface ClassExpression_With_decorators extends ClassExpression {
309
+ +decorators: $NonMaybeType<ClassExpression['decorators']>;
310
+ }
311
+ interface ClassExpression_With_body extends ClassExpression {
312
+ +body: $NonMaybeType<ClassExpression['body']>;
313
+ }
314
+ interface ClassImplements_With_id extends ClassImplements {
315
+ +id: $NonMaybeType<ClassImplements['id']>;
316
+ }
317
+ interface ClassImplements_With_typeParameters extends ClassImplements {
318
+ +typeParameters: $NonMaybeType<ClassImplements['typeParameters']>;
319
+ }
320
+ interface ClassPrivateProperty_With_key extends ClassPrivateProperty {
321
+ +key: $NonMaybeType<ClassPrivateProperty['key']>;
322
+ }
323
+ interface ClassPrivateProperty_With_value extends ClassPrivateProperty {
324
+ +value: $NonMaybeType<ClassPrivateProperty['value']>;
325
+ }
326
+ interface ClassPrivateProperty_With_static extends ClassPrivateProperty {
327
+ +static: $NonMaybeType<ClassPrivateProperty['static']>;
328
+ }
329
+ interface ClassPrivateProperty_With_declare extends ClassPrivateProperty {
330
+ +declare: $NonMaybeType<ClassPrivateProperty['declare']>;
331
+ }
332
+ interface ClassPrivateProperty_With_optional extends ClassPrivateProperty {
333
+ +optional: $NonMaybeType<ClassPrivateProperty['optional']>;
334
+ }
335
+ interface ClassPrivateProperty_With_variance extends ClassPrivateProperty {
336
+ +variance: $NonMaybeType<ClassPrivateProperty['variance']>;
337
+ }
338
+ interface ClassPrivateProperty_With_typeAnnotation
339
+ extends ClassPrivateProperty {
340
+ +typeAnnotation: $NonMaybeType<ClassPrivateProperty['typeAnnotation']>;
341
+ }
342
+ interface ClassProperty_With_key extends ClassProperty {
343
+ +key: $NonMaybeType<ClassProperty['key']>;
344
+ }
345
+ interface ClassProperty_With_value extends ClassProperty {
346
+ +value: $NonMaybeType<ClassProperty['value']>;
347
+ }
348
+ interface ClassProperty_With_computed extends ClassProperty {
349
+ +computed: $NonMaybeType<ClassProperty['computed']>;
350
+ }
351
+ interface ClassProperty_With_static extends ClassProperty {
352
+ +static: $NonMaybeType<ClassProperty['static']>;
353
+ }
354
+ interface ClassProperty_With_declare extends ClassProperty {
355
+ +declare: $NonMaybeType<ClassProperty['declare']>;
356
+ }
357
+ interface ClassProperty_With_optional extends ClassProperty {
358
+ +optional: $NonMaybeType<ClassProperty['optional']>;
359
+ }
360
+ interface ClassProperty_With_variance extends ClassProperty {
361
+ +variance: $NonMaybeType<ClassProperty['variance']>;
362
+ }
363
+ interface ClassProperty_With_typeAnnotation extends ClassProperty {
364
+ +typeAnnotation: $NonMaybeType<ClassProperty['typeAnnotation']>;
365
+ }
366
+ interface ConditionalExpression_With_test extends ConditionalExpression {
367
+ +test: $NonMaybeType<ConditionalExpression['test']>;
368
+ }
369
+ interface ConditionalExpression_With_alternate extends ConditionalExpression {
370
+ +alternate: $NonMaybeType<ConditionalExpression['alternate']>;
371
+ }
372
+ interface ConditionalExpression_With_consequent extends ConditionalExpression {
373
+ +consequent: $NonMaybeType<ConditionalExpression['consequent']>;
374
+ }
375
+ interface ContinueStatement_With_label extends ContinueStatement {
376
+ +label: $NonMaybeType<ContinueStatement['label']>;
377
+ }
378
+ interface DeclareClass_With_id extends DeclareClass {
379
+ +id: $NonMaybeType<DeclareClass['id']>;
380
+ }
381
+ interface DeclareClass_With_typeParameters extends DeclareClass {
382
+ +typeParameters: $NonMaybeType<DeclareClass['typeParameters']>;
383
+ }
384
+ interface DeclareClass_With_extends extends DeclareClass {
385
+ +extends: $NonMaybeType<DeclareClass['extends']>;
386
+ }
387
+ interface DeclareClass_With_implements extends DeclareClass {
388
+ +implements: $NonMaybeType<DeclareClass['implements']>;
389
+ }
390
+ interface DeclareClass_With_mixins extends DeclareClass {
391
+ +mixins: $NonMaybeType<DeclareClass['mixins']>;
392
+ }
393
+ interface DeclareClass_With_body extends DeclareClass {
394
+ +body: $NonMaybeType<DeclareClass['body']>;
395
+ }
396
+ interface DeclaredPredicate_With_value extends DeclaredPredicate {
397
+ +value: $NonMaybeType<DeclaredPredicate['value']>;
398
+ }
399
+ interface DeclareExportAllDeclaration_With_source
400
+ extends DeclareExportAllDeclaration {
401
+ +source: $NonMaybeType<DeclareExportAllDeclaration['source']>;
402
+ }
403
+ interface DeclareExportDeclaration_With_declaration
404
+ extends DeclareExportDeclaration {
405
+ +declaration: $NonMaybeType<DeclareExportDeclaration['declaration']>;
406
+ }
407
+ interface DeclareExportDeclaration_With_specifiers
408
+ extends DeclareExportDeclaration {
409
+ +specifiers: $NonMaybeType<DeclareExportDeclaration['specifiers']>;
410
+ }
411
+ interface DeclareExportDeclaration_With_source
412
+ extends DeclareExportDeclaration {
413
+ +source: $NonMaybeType<DeclareExportDeclaration['source']>;
414
+ }
415
+ interface DeclareExportDeclaration_With_default
416
+ extends DeclareExportDeclaration {
417
+ +default: $NonMaybeType<DeclareExportDeclaration['default']>;
418
+ }
419
+ interface DeclareFunction_With_id extends DeclareFunction {
420
+ +id: $NonMaybeType<DeclareFunction['id']>;
421
+ }
422
+ interface DeclareFunction_With_predicate extends DeclareFunction {
423
+ +predicate: $NonMaybeType<DeclareFunction['predicate']>;
424
+ }
425
+ interface DeclareInterface_With_id extends DeclareInterface {
426
+ +id: $NonMaybeType<DeclareInterface['id']>;
427
+ }
428
+ interface DeclareInterface_With_typeParameters extends DeclareInterface {
429
+ +typeParameters: $NonMaybeType<DeclareInterface['typeParameters']>;
430
+ }
431
+ interface DeclareInterface_With_extends extends DeclareInterface {
432
+ +extends: $NonMaybeType<DeclareInterface['extends']>;
433
+ }
434
+ interface DeclareInterface_With_body extends DeclareInterface {
435
+ +body: $NonMaybeType<DeclareInterface['body']>;
436
+ }
437
+ interface DeclareModule_With_id extends DeclareModule {
438
+ +id: $NonMaybeType<DeclareModule['id']>;
439
+ }
440
+ interface DeclareModule_With_body extends DeclareModule {
441
+ +body: $NonMaybeType<DeclareModule['body']>;
442
+ }
443
+ interface DeclareModule_With_kind extends DeclareModule {
444
+ +kind: $NonMaybeType<DeclareModule['kind']>;
445
+ }
446
+ interface DeclareModuleExports_With_typeAnnotation
447
+ extends DeclareModuleExports {
448
+ +typeAnnotation: $NonMaybeType<DeclareModuleExports['typeAnnotation']>;
449
+ }
450
+ interface DeclareOpaqueType_With_id extends DeclareOpaqueType {
451
+ +id: $NonMaybeType<DeclareOpaqueType['id']>;
452
+ }
453
+ interface DeclareOpaqueType_With_typeParameters extends DeclareOpaqueType {
454
+ +typeParameters: $NonMaybeType<DeclareOpaqueType['typeParameters']>;
455
+ }
456
+ interface DeclareOpaqueType_With_impltype extends DeclareOpaqueType {
457
+ +impltype: $NonMaybeType<DeclareOpaqueType['impltype']>;
458
+ }
459
+ interface DeclareOpaqueType_With_supertype extends DeclareOpaqueType {
460
+ +supertype: $NonMaybeType<DeclareOpaqueType['supertype']>;
461
+ }
462
+ interface DeclareTypeAlias_With_id extends DeclareTypeAlias {
463
+ +id: $NonMaybeType<DeclareTypeAlias['id']>;
464
+ }
465
+ interface DeclareTypeAlias_With_typeParameters extends DeclareTypeAlias {
466
+ +typeParameters: $NonMaybeType<DeclareTypeAlias['typeParameters']>;
467
+ }
468
+ interface DeclareTypeAlias_With_right extends DeclareTypeAlias {
469
+ +right: $NonMaybeType<DeclareTypeAlias['right']>;
470
+ }
471
+ interface DeclareVariable_With_id extends DeclareVariable {
472
+ +id: $NonMaybeType<DeclareVariable['id']>;
473
+ }
474
+ interface DoWhileStatement_With_body extends DoWhileStatement {
475
+ +body: $NonMaybeType<DoWhileStatement['body']>;
476
+ }
477
+ interface DoWhileStatement_With_test extends DoWhileStatement {
478
+ +test: $NonMaybeType<DoWhileStatement['test']>;
479
+ }
480
+ interface EnumBooleanBody_With_members extends EnumBooleanBody {
481
+ +members: $NonMaybeType<EnumBooleanBody['members']>;
482
+ }
483
+ interface EnumBooleanBody_With_explicitType extends EnumBooleanBody {
484
+ +explicitType: $NonMaybeType<EnumBooleanBody['explicitType']>;
485
+ }
486
+ interface EnumBooleanBody_With_hasUnknownMembers extends EnumBooleanBody {
487
+ +hasUnknownMembers: $NonMaybeType<EnumBooleanBody['hasUnknownMembers']>;
488
+ }
489
+ interface EnumBooleanMember_With_id extends EnumBooleanMember {
490
+ +id: $NonMaybeType<EnumBooleanMember['id']>;
491
+ }
492
+ interface EnumBooleanMember_With_init extends EnumBooleanMember {
493
+ +init: $NonMaybeType<EnumBooleanMember['init']>;
494
+ }
495
+ interface EnumDeclaration_With_id extends EnumDeclaration {
496
+ +id: $NonMaybeType<EnumDeclaration['id']>;
497
+ }
498
+ interface EnumDeclaration_With_body extends EnumDeclaration {
499
+ +body: $NonMaybeType<EnumDeclaration['body']>;
500
+ }
501
+ interface EnumDefaultedMember_With_id extends EnumDefaultedMember {
502
+ +id: $NonMaybeType<EnumDefaultedMember['id']>;
503
+ }
504
+ interface EnumNumberBody_With_members extends EnumNumberBody {
505
+ +members: $NonMaybeType<EnumNumberBody['members']>;
506
+ }
507
+ interface EnumNumberBody_With_explicitType extends EnumNumberBody {
508
+ +explicitType: $NonMaybeType<EnumNumberBody['explicitType']>;
509
+ }
510
+ interface EnumNumberBody_With_hasUnknownMembers extends EnumNumberBody {
511
+ +hasUnknownMembers: $NonMaybeType<EnumNumberBody['hasUnknownMembers']>;
512
+ }
513
+ interface EnumNumberMember_With_id extends EnumNumberMember {
514
+ +id: $NonMaybeType<EnumNumberMember['id']>;
515
+ }
516
+ interface EnumNumberMember_With_init extends EnumNumberMember {
517
+ +init: $NonMaybeType<EnumNumberMember['init']>;
518
+ }
519
+ interface EnumStringBody_With_members extends EnumStringBody {
520
+ +members: $NonMaybeType<EnumStringBody['members']>;
521
+ }
522
+ interface EnumStringBody_With_explicitType extends EnumStringBody {
523
+ +explicitType: $NonMaybeType<EnumStringBody['explicitType']>;
524
+ }
525
+ interface EnumStringBody_With_hasUnknownMembers extends EnumStringBody {
526
+ +hasUnknownMembers: $NonMaybeType<EnumStringBody['hasUnknownMembers']>;
527
+ }
528
+ interface EnumStringMember_With_id extends EnumStringMember {
529
+ +id: $NonMaybeType<EnumStringMember['id']>;
530
+ }
531
+ interface EnumStringMember_With_init extends EnumStringMember {
532
+ +init: $NonMaybeType<EnumStringMember['init']>;
533
+ }
534
+ interface EnumSymbolBody_With_members extends EnumSymbolBody {
535
+ +members: $NonMaybeType<EnumSymbolBody['members']>;
536
+ }
537
+ interface EnumSymbolBody_With_hasUnknownMembers extends EnumSymbolBody {
538
+ +hasUnknownMembers: $NonMaybeType<EnumSymbolBody['hasUnknownMembers']>;
539
+ }
540
+ interface ExportAllDeclaration_With_source extends ExportAllDeclaration {
541
+ +source: $NonMaybeType<ExportAllDeclaration['source']>;
542
+ }
543
+ interface ExportAllDeclaration_With_exportKind extends ExportAllDeclaration {
544
+ +exportKind: $NonMaybeType<ExportAllDeclaration['exportKind']>;
545
+ }
546
+ interface ExportDefaultDeclaration_With_declaration
547
+ extends ExportDefaultDeclaration {
548
+ +declaration: $NonMaybeType<ExportDefaultDeclaration['declaration']>;
549
+ }
550
+ interface ExportNamedDeclaration_With_declaration
551
+ extends ExportNamedDeclaration {
552
+ +declaration: $NonMaybeType<ExportNamedDeclaration['declaration']>;
553
+ }
554
+ interface ExportNamedDeclaration_With_specifiers
555
+ extends ExportNamedDeclaration {
556
+ +specifiers: $NonMaybeType<ExportNamedDeclaration['specifiers']>;
557
+ }
558
+ interface ExportNamedDeclaration_With_source extends ExportNamedDeclaration {
559
+ +source: $NonMaybeType<ExportNamedDeclaration['source']>;
560
+ }
561
+ interface ExportNamedDeclaration_With_exportKind
562
+ extends ExportNamedDeclaration {
563
+ +exportKind: $NonMaybeType<ExportNamedDeclaration['exportKind']>;
564
+ }
565
+ interface ExportNamespaceSpecifier_With_exported
566
+ extends ExportNamespaceSpecifier {
567
+ +exported: $NonMaybeType<ExportNamespaceSpecifier['exported']>;
568
+ }
569
+ interface ExportSpecifier_With_exported extends ExportSpecifier {
570
+ +exported: $NonMaybeType<ExportSpecifier['exported']>;
571
+ }
572
+ interface ExportSpecifier_With_local extends ExportSpecifier {
573
+ +local: $NonMaybeType<ExportSpecifier['local']>;
574
+ }
575
+ interface ExpressionStatement_With_expression extends ExpressionStatement {
576
+ +expression: $NonMaybeType<ExpressionStatement['expression']>;
577
+ }
578
+ interface ExpressionStatement_With_directive extends ExpressionStatement {
579
+ +directive: $NonMaybeType<ExpressionStatement['directive']>;
580
+ }
581
+ interface ForInStatement_With_left extends ForInStatement {
582
+ +left: $NonMaybeType<ForInStatement['left']>;
583
+ }
584
+ interface ForInStatement_With_right extends ForInStatement {
585
+ +right: $NonMaybeType<ForInStatement['right']>;
586
+ }
587
+ interface ForInStatement_With_body extends ForInStatement {
588
+ +body: $NonMaybeType<ForInStatement['body']>;
589
+ }
590
+ interface ForOfStatement_With_left extends ForOfStatement {
591
+ +left: $NonMaybeType<ForOfStatement['left']>;
592
+ }
593
+ interface ForOfStatement_With_right extends ForOfStatement {
594
+ +right: $NonMaybeType<ForOfStatement['right']>;
595
+ }
596
+ interface ForOfStatement_With_body extends ForOfStatement {
597
+ +body: $NonMaybeType<ForOfStatement['body']>;
598
+ }
599
+ interface ForOfStatement_With_await extends ForOfStatement {
600
+ +await: $NonMaybeType<ForOfStatement['await']>;
601
+ }
602
+ interface ForStatement_With_init extends ForStatement {
603
+ +init: $NonMaybeType<ForStatement['init']>;
604
+ }
605
+ interface ForStatement_With_test extends ForStatement {
606
+ +test: $NonMaybeType<ForStatement['test']>;
607
+ }
608
+ interface ForStatement_With_update extends ForStatement {
609
+ +update: $NonMaybeType<ForStatement['update']>;
610
+ }
611
+ interface ForStatement_With_body extends ForStatement {
612
+ +body: $NonMaybeType<ForStatement['body']>;
613
+ }
614
+ interface FunctionDeclaration_With_id extends FunctionDeclaration {
615
+ +id: $NonMaybeType<FunctionDeclaration['id']>;
616
+ }
617
+ interface FunctionDeclaration_With_params extends FunctionDeclaration {
618
+ +params: $NonMaybeType<FunctionDeclaration['params']>;
619
+ }
620
+ interface FunctionDeclaration_With_body extends FunctionDeclaration {
621
+ +body: $NonMaybeType<FunctionDeclaration['body']>;
622
+ }
623
+ interface FunctionDeclaration_With_typeParameters extends FunctionDeclaration {
624
+ +typeParameters: $NonMaybeType<FunctionDeclaration['typeParameters']>;
625
+ }
626
+ interface FunctionDeclaration_With_returnType extends FunctionDeclaration {
627
+ +returnType: $NonMaybeType<FunctionDeclaration['returnType']>;
628
+ }
629
+ interface FunctionDeclaration_With_predicate extends FunctionDeclaration {
630
+ +predicate: $NonMaybeType<FunctionDeclaration['predicate']>;
631
+ }
632
+ interface FunctionDeclaration_With_generator extends FunctionDeclaration {
633
+ +generator: $NonMaybeType<FunctionDeclaration['generator']>;
634
+ }
635
+ interface FunctionDeclaration_With_async extends FunctionDeclaration {
636
+ +async: $NonMaybeType<FunctionDeclaration['async']>;
637
+ }
638
+ interface FunctionExpression_With_id extends FunctionExpression {
639
+ +id: $NonMaybeType<FunctionExpression['id']>;
640
+ }
641
+ interface FunctionExpression_With_params extends FunctionExpression {
642
+ +params: $NonMaybeType<FunctionExpression['params']>;
643
+ }
644
+ interface FunctionExpression_With_body extends FunctionExpression {
645
+ +body: $NonMaybeType<FunctionExpression['body']>;
646
+ }
647
+ interface FunctionExpression_With_typeParameters extends FunctionExpression {
648
+ +typeParameters: $NonMaybeType<FunctionExpression['typeParameters']>;
649
+ }
650
+ interface FunctionExpression_With_returnType extends FunctionExpression {
651
+ +returnType: $NonMaybeType<FunctionExpression['returnType']>;
652
+ }
653
+ interface FunctionExpression_With_predicate extends FunctionExpression {
654
+ +predicate: $NonMaybeType<FunctionExpression['predicate']>;
655
+ }
656
+ interface FunctionExpression_With_generator extends FunctionExpression {
657
+ +generator: $NonMaybeType<FunctionExpression['generator']>;
658
+ }
659
+ interface FunctionExpression_With_async extends FunctionExpression {
660
+ +async: $NonMaybeType<FunctionExpression['async']>;
661
+ }
662
+ interface FunctionTypeAnnotation_With_params extends FunctionTypeAnnotation {
663
+ +params: $NonMaybeType<FunctionTypeAnnotation['params']>;
664
+ }
665
+ interface FunctionTypeAnnotation_With_this extends FunctionTypeAnnotation {
666
+ +this: $NonMaybeType<FunctionTypeAnnotation['this']>;
667
+ }
668
+ interface FunctionTypeAnnotation_With_returnType
669
+ extends FunctionTypeAnnotation {
670
+ +returnType: $NonMaybeType<FunctionTypeAnnotation['returnType']>;
671
+ }
672
+ interface FunctionTypeAnnotation_With_rest extends FunctionTypeAnnotation {
673
+ +rest: $NonMaybeType<FunctionTypeAnnotation['rest']>;
674
+ }
675
+ interface FunctionTypeAnnotation_With_typeParameters
676
+ extends FunctionTypeAnnotation {
677
+ +typeParameters: $NonMaybeType<FunctionTypeAnnotation['typeParameters']>;
678
+ }
679
+ interface FunctionTypeParam_With_name extends FunctionTypeParam {
680
+ +name: $NonMaybeType<FunctionTypeParam['name']>;
681
+ }
682
+ interface FunctionTypeParam_With_typeAnnotation extends FunctionTypeParam {
683
+ +typeAnnotation: $NonMaybeType<FunctionTypeParam['typeAnnotation']>;
684
+ }
685
+ interface FunctionTypeParam_With_optional extends FunctionTypeParam {
686
+ +optional: $NonMaybeType<FunctionTypeParam['optional']>;
687
+ }
688
+ interface GenericTypeAnnotation_With_id extends GenericTypeAnnotation {
689
+ +id: $NonMaybeType<GenericTypeAnnotation['id']>;
690
+ }
691
+ interface GenericTypeAnnotation_With_typeParameters
692
+ extends GenericTypeAnnotation {
693
+ +typeParameters: $NonMaybeType<GenericTypeAnnotation['typeParameters']>;
694
+ }
695
+ interface Identifier_With_name extends Identifier {
696
+ +name: $NonMaybeType<Identifier['name']>;
697
+ }
698
+ interface Identifier_With_typeAnnotation extends Identifier {
699
+ +typeAnnotation: $NonMaybeType<Identifier['typeAnnotation']>;
700
+ }
701
+ interface Identifier_With_optional extends Identifier {
702
+ +optional: $NonMaybeType<Identifier['optional']>;
703
+ }
704
+ interface IfStatement_With_test extends IfStatement {
705
+ +test: $NonMaybeType<IfStatement['test']>;
706
+ }
707
+ interface IfStatement_With_consequent extends IfStatement {
708
+ +consequent: $NonMaybeType<IfStatement['consequent']>;
709
+ }
710
+ interface IfStatement_With_alternate extends IfStatement {
711
+ +alternate: $NonMaybeType<IfStatement['alternate']>;
712
+ }
713
+ interface ImportAttribute_With_key extends ImportAttribute {
714
+ +key: $NonMaybeType<ImportAttribute['key']>;
715
+ }
716
+ interface ImportAttribute_With_value extends ImportAttribute {
717
+ +value: $NonMaybeType<ImportAttribute['value']>;
718
+ }
719
+ interface ImportDeclaration_With_specifiers extends ImportDeclaration {
720
+ +specifiers: $NonMaybeType<ImportDeclaration['specifiers']>;
721
+ }
722
+ interface ImportDeclaration_With_source extends ImportDeclaration {
723
+ +source: $NonMaybeType<ImportDeclaration['source']>;
724
+ }
725
+ interface ImportDeclaration_With_assertions extends ImportDeclaration {
726
+ +assertions: $NonMaybeType<ImportDeclaration['assertions']>;
727
+ }
728
+ interface ImportDeclaration_With_importKind extends ImportDeclaration {
729
+ +importKind: $NonMaybeType<ImportDeclaration['importKind']>;
730
+ }
731
+ interface ImportDefaultSpecifier_With_local extends ImportDefaultSpecifier {
732
+ +local: $NonMaybeType<ImportDefaultSpecifier['local']>;
733
+ }
734
+ interface ImportExpression_With_source extends ImportExpression {
735
+ +source: $NonMaybeType<ImportExpression['source']>;
736
+ }
737
+ interface ImportExpression_With_attributes extends ImportExpression {
738
+ +attributes: $NonMaybeType<ImportExpression['attributes']>;
739
+ }
740
+ interface ImportNamespaceSpecifier_With_local extends ImportNamespaceSpecifier {
741
+ +local: $NonMaybeType<ImportNamespaceSpecifier['local']>;
742
+ }
743
+ interface ImportSpecifier_With_imported extends ImportSpecifier {
744
+ +imported: $NonMaybeType<ImportSpecifier['imported']>;
745
+ }
746
+ interface ImportSpecifier_With_local extends ImportSpecifier {
747
+ +local: $NonMaybeType<ImportSpecifier['local']>;
748
+ }
749
+ interface ImportSpecifier_With_importKind extends ImportSpecifier {
750
+ +importKind: $NonMaybeType<ImportSpecifier['importKind']>;
751
+ }
752
+ interface IndexedAccessType_With_objectType extends IndexedAccessType {
753
+ +objectType: $NonMaybeType<IndexedAccessType['objectType']>;
754
+ }
755
+ interface IndexedAccessType_With_indexType extends IndexedAccessType {
756
+ +indexType: $NonMaybeType<IndexedAccessType['indexType']>;
757
+ }
758
+ interface InterfaceDeclaration_With_id extends InterfaceDeclaration {
759
+ +id: $NonMaybeType<InterfaceDeclaration['id']>;
760
+ }
761
+ interface InterfaceDeclaration_With_typeParameters
762
+ extends InterfaceDeclaration {
763
+ +typeParameters: $NonMaybeType<InterfaceDeclaration['typeParameters']>;
764
+ }
765
+ interface InterfaceDeclaration_With_extends extends InterfaceDeclaration {
766
+ +extends: $NonMaybeType<InterfaceDeclaration['extends']>;
767
+ }
768
+ interface InterfaceDeclaration_With_body extends InterfaceDeclaration {
769
+ +body: $NonMaybeType<InterfaceDeclaration['body']>;
770
+ }
771
+ interface InterfaceExtends_With_id extends InterfaceExtends {
772
+ +id: $NonMaybeType<InterfaceExtends['id']>;
773
+ }
774
+ interface InterfaceExtends_With_typeParameters extends InterfaceExtends {
775
+ +typeParameters: $NonMaybeType<InterfaceExtends['typeParameters']>;
776
+ }
777
+ interface InterfaceTypeAnnotation_With_extends extends InterfaceTypeAnnotation {
778
+ +extends: $NonMaybeType<InterfaceTypeAnnotation['extends']>;
779
+ }
780
+ interface InterfaceTypeAnnotation_With_body extends InterfaceTypeAnnotation {
781
+ +body: $NonMaybeType<InterfaceTypeAnnotation['body']>;
782
+ }
783
+ interface IntersectionTypeAnnotation_With_types
784
+ extends IntersectionTypeAnnotation {
785
+ +types: $NonMaybeType<IntersectionTypeAnnotation['types']>;
786
+ }
787
+ interface JSXAttribute_With_name extends JSXAttribute {
788
+ +name: $NonMaybeType<JSXAttribute['name']>;
789
+ }
790
+ interface JSXAttribute_With_value extends JSXAttribute {
791
+ +value: $NonMaybeType<JSXAttribute['value']>;
792
+ }
793
+ interface JSXClosingElement_With_name extends JSXClosingElement {
794
+ +name: $NonMaybeType<JSXClosingElement['name']>;
795
+ }
796
+ interface JSXElement_With_openingElement extends JSXElement {
797
+ +openingElement: $NonMaybeType<JSXElement['openingElement']>;
798
+ }
799
+ interface JSXElement_With_children extends JSXElement {
800
+ +children: $NonMaybeType<JSXElement['children']>;
801
+ }
802
+ interface JSXElement_With_closingElement extends JSXElement {
803
+ +closingElement: $NonMaybeType<JSXElement['closingElement']>;
804
+ }
805
+ interface JSXExpressionContainer_With_expression
806
+ extends JSXExpressionContainer {
807
+ +expression: $NonMaybeType<JSXExpressionContainer['expression']>;
808
+ }
809
+ interface JSXFragment_With_openingFragment extends JSXFragment {
810
+ +openingFragment: $NonMaybeType<JSXFragment['openingFragment']>;
811
+ }
812
+ interface JSXFragment_With_children extends JSXFragment {
813
+ +children: $NonMaybeType<JSXFragment['children']>;
814
+ }
815
+ interface JSXFragment_With_closingFragment extends JSXFragment {
816
+ +closingFragment: $NonMaybeType<JSXFragment['closingFragment']>;
817
+ }
818
+ interface JSXIdentifier_With_name extends JSXIdentifier {
819
+ +name: $NonMaybeType<JSXIdentifier['name']>;
820
+ }
821
+ interface JSXMemberExpression_With_object extends JSXMemberExpression {
822
+ +object: $NonMaybeType<JSXMemberExpression['object']>;
823
+ }
824
+ interface JSXMemberExpression_With_property extends JSXMemberExpression {
825
+ +property: $NonMaybeType<JSXMemberExpression['property']>;
826
+ }
827
+ interface JSXNamespacedName_With_namespace extends JSXNamespacedName {
828
+ +namespace: $NonMaybeType<JSXNamespacedName['namespace']>;
829
+ }
830
+ interface JSXNamespacedName_With_name extends JSXNamespacedName {
831
+ +name: $NonMaybeType<JSXNamespacedName['name']>;
832
+ }
833
+ interface JSXOpeningElement_With_name extends JSXOpeningElement {
834
+ +name: $NonMaybeType<JSXOpeningElement['name']>;
835
+ }
836
+ interface JSXOpeningElement_With_attributes extends JSXOpeningElement {
837
+ +attributes: $NonMaybeType<JSXOpeningElement['attributes']>;
838
+ }
839
+ interface JSXOpeningElement_With_selfClosing extends JSXOpeningElement {
840
+ +selfClosing: $NonMaybeType<JSXOpeningElement['selfClosing']>;
841
+ }
842
+ interface JSXSpreadAttribute_With_argument extends JSXSpreadAttribute {
843
+ +argument: $NonMaybeType<JSXSpreadAttribute['argument']>;
844
+ }
845
+ interface JSXSpreadChild_With_expression extends JSXSpreadChild {
846
+ +expression: $NonMaybeType<JSXSpreadChild['expression']>;
847
+ }
848
+ interface JSXText_With_value extends JSXText {
849
+ +value: $NonMaybeType<JSXText['value']>;
850
+ }
851
+ interface JSXText_With_raw extends JSXText {
852
+ +raw: $NonMaybeType<JSXText['raw']>;
853
+ }
854
+ interface LabeledStatement_With_label extends LabeledStatement {
855
+ +label: $NonMaybeType<LabeledStatement['label']>;
856
+ }
857
+ interface LabeledStatement_With_body extends LabeledStatement {
858
+ +body: $NonMaybeType<LabeledStatement['body']>;
859
+ }
860
+ interface LogicalExpression_With_left extends LogicalExpression {
861
+ +left: $NonMaybeType<LogicalExpression['left']>;
862
+ }
863
+ interface LogicalExpression_With_right extends LogicalExpression {
864
+ +right: $NonMaybeType<LogicalExpression['right']>;
865
+ }
866
+ interface LogicalExpression_With_operator extends LogicalExpression {
867
+ +operator: $NonMaybeType<LogicalExpression['operator']>;
868
+ }
869
+ interface MemberExpression_With_object extends MemberExpression {
870
+ +object: $NonMaybeType<MemberExpression['object']>;
871
+ }
872
+ interface MemberExpression_With_property extends MemberExpression {
873
+ +property: $NonMaybeType<MemberExpression['property']>;
874
+ }
875
+ interface MemberExpression_With_computed extends MemberExpression {
876
+ +computed: $NonMaybeType<MemberExpression['computed']>;
877
+ }
878
+ interface MetaProperty_With_meta extends MetaProperty {
879
+ +meta: $NonMaybeType<MetaProperty['meta']>;
880
+ }
881
+ interface MetaProperty_With_property extends MetaProperty {
882
+ +property: $NonMaybeType<MetaProperty['property']>;
883
+ }
884
+ interface MethodDefinition_With_key extends MethodDefinition {
885
+ +key: $NonMaybeType<MethodDefinition['key']>;
886
+ }
887
+ interface MethodDefinition_With_value extends MethodDefinition {
888
+ +value: $NonMaybeType<MethodDefinition['value']>;
889
+ }
890
+ interface MethodDefinition_With_kind extends MethodDefinition {
891
+ +kind: $NonMaybeType<MethodDefinition['kind']>;
892
+ }
893
+ interface MethodDefinition_With_computed extends MethodDefinition {
894
+ +computed: $NonMaybeType<MethodDefinition['computed']>;
895
+ }
896
+ interface MethodDefinition_With_static extends MethodDefinition {
897
+ +static: $NonMaybeType<MethodDefinition['static']>;
898
+ }
899
+ interface NewExpression_With_callee extends NewExpression {
900
+ +callee: $NonMaybeType<NewExpression['callee']>;
901
+ }
902
+ interface NewExpression_With_typeArguments extends NewExpression {
903
+ +typeArguments: $NonMaybeType<NewExpression['typeArguments']>;
904
+ }
905
+ interface NewExpression_With_arguments extends NewExpression {
906
+ +arguments: $NonMaybeType<NewExpression['arguments']>;
907
+ }
908
+ interface NullableTypeAnnotation_With_typeAnnotation
909
+ extends NullableTypeAnnotation {
910
+ +typeAnnotation: $NonMaybeType<NullableTypeAnnotation['typeAnnotation']>;
911
+ }
912
+ interface NumberLiteralTypeAnnotation_With_value
913
+ extends NumberLiteralTypeAnnotation {
914
+ +value: $NonMaybeType<NumberLiteralTypeAnnotation['value']>;
915
+ }
916
+ interface NumberLiteralTypeAnnotation_With_raw
917
+ extends NumberLiteralTypeAnnotation {
918
+ +raw: $NonMaybeType<NumberLiteralTypeAnnotation['raw']>;
919
+ }
920
+ interface ObjectExpression_With_properties extends ObjectExpression {
921
+ +properties: $NonMaybeType<ObjectExpression['properties']>;
922
+ }
923
+ interface ObjectPattern_With_properties extends ObjectPattern {
924
+ +properties: $NonMaybeType<ObjectPattern['properties']>;
925
+ }
926
+ interface ObjectPattern_With_typeAnnotation extends ObjectPattern {
927
+ +typeAnnotation: $NonMaybeType<ObjectPattern['typeAnnotation']>;
928
+ }
929
+ interface ObjectTypeAnnotation_With_properties extends ObjectTypeAnnotation {
930
+ +properties: $NonMaybeType<ObjectTypeAnnotation['properties']>;
931
+ }
932
+ interface ObjectTypeAnnotation_With_indexers extends ObjectTypeAnnotation {
933
+ +indexers: $NonMaybeType<ObjectTypeAnnotation['indexers']>;
934
+ }
935
+ interface ObjectTypeAnnotation_With_callProperties
936
+ extends ObjectTypeAnnotation {
937
+ +callProperties: $NonMaybeType<ObjectTypeAnnotation['callProperties']>;
938
+ }
939
+ interface ObjectTypeAnnotation_With_internalSlots extends ObjectTypeAnnotation {
940
+ +internalSlots: $NonMaybeType<ObjectTypeAnnotation['internalSlots']>;
941
+ }
942
+ interface ObjectTypeAnnotation_With_inexact extends ObjectTypeAnnotation {
943
+ +inexact: $NonMaybeType<ObjectTypeAnnotation['inexact']>;
944
+ }
945
+ interface ObjectTypeAnnotation_With_exact extends ObjectTypeAnnotation {
946
+ +exact: $NonMaybeType<ObjectTypeAnnotation['exact']>;
947
+ }
948
+ interface ObjectTypeCallProperty_With_value extends ObjectTypeCallProperty {
949
+ +value: $NonMaybeType<ObjectTypeCallProperty['value']>;
950
+ }
951
+ interface ObjectTypeCallProperty_With_static extends ObjectTypeCallProperty {
952
+ +static: $NonMaybeType<ObjectTypeCallProperty['static']>;
953
+ }
954
+ interface ObjectTypeIndexer_With_id extends ObjectTypeIndexer {
955
+ +id: $NonMaybeType<ObjectTypeIndexer['id']>;
956
+ }
957
+ interface ObjectTypeIndexer_With_key extends ObjectTypeIndexer {
958
+ +key: $NonMaybeType<ObjectTypeIndexer['key']>;
959
+ }
960
+ interface ObjectTypeIndexer_With_value extends ObjectTypeIndexer {
961
+ +value: $NonMaybeType<ObjectTypeIndexer['value']>;
962
+ }
963
+ interface ObjectTypeIndexer_With_static extends ObjectTypeIndexer {
964
+ +static: $NonMaybeType<ObjectTypeIndexer['static']>;
965
+ }
966
+ interface ObjectTypeIndexer_With_variance extends ObjectTypeIndexer {
967
+ +variance: $NonMaybeType<ObjectTypeIndexer['variance']>;
968
+ }
969
+ interface ObjectTypeInternalSlot_With_id extends ObjectTypeInternalSlot {
970
+ +id: $NonMaybeType<ObjectTypeInternalSlot['id']>;
971
+ }
972
+ interface ObjectTypeInternalSlot_With_value extends ObjectTypeInternalSlot {
973
+ +value: $NonMaybeType<ObjectTypeInternalSlot['value']>;
974
+ }
975
+ interface ObjectTypeInternalSlot_With_optional extends ObjectTypeInternalSlot {
976
+ +optional: $NonMaybeType<ObjectTypeInternalSlot['optional']>;
977
+ }
978
+ interface ObjectTypeInternalSlot_With_static extends ObjectTypeInternalSlot {
979
+ +static: $NonMaybeType<ObjectTypeInternalSlot['static']>;
980
+ }
981
+ interface ObjectTypeInternalSlot_With_method extends ObjectTypeInternalSlot {
982
+ +method: $NonMaybeType<ObjectTypeInternalSlot['method']>;
983
+ }
984
+ interface ObjectTypeProperty_With_key extends ObjectTypeProperty {
985
+ +key: $NonMaybeType<ObjectTypeProperty['key']>;
986
+ }
987
+ interface ObjectTypeProperty_With_value extends ObjectTypeProperty {
988
+ +value: $NonMaybeType<ObjectTypeProperty['value']>;
989
+ }
990
+ interface ObjectTypeProperty_With_method extends ObjectTypeProperty {
991
+ +method: $NonMaybeType<ObjectTypeProperty['method']>;
992
+ }
993
+ interface ObjectTypeProperty_With_optional extends ObjectTypeProperty {
994
+ +optional: $NonMaybeType<ObjectTypeProperty['optional']>;
995
+ }
996
+ interface ObjectTypeProperty_With_static extends ObjectTypeProperty {
997
+ +static: $NonMaybeType<ObjectTypeProperty['static']>;
998
+ }
999
+ interface ObjectTypeProperty_With_proto extends ObjectTypeProperty {
1000
+ +proto: $NonMaybeType<ObjectTypeProperty['proto']>;
1001
+ }
1002
+ interface ObjectTypeProperty_With_variance extends ObjectTypeProperty {
1003
+ +variance: $NonMaybeType<ObjectTypeProperty['variance']>;
1004
+ }
1005
+ interface ObjectTypeProperty_With_kind extends ObjectTypeProperty {
1006
+ +kind: $NonMaybeType<ObjectTypeProperty['kind']>;
1007
+ }
1008
+ interface ObjectTypeSpreadProperty_With_argument
1009
+ extends ObjectTypeSpreadProperty {
1010
+ +argument: $NonMaybeType<ObjectTypeSpreadProperty['argument']>;
1011
+ }
1012
+ interface OpaqueType_With_id extends OpaqueType {
1013
+ +id: $NonMaybeType<OpaqueType['id']>;
1014
+ }
1015
+ interface OpaqueType_With_typeParameters extends OpaqueType {
1016
+ +typeParameters: $NonMaybeType<OpaqueType['typeParameters']>;
1017
+ }
1018
+ interface OpaqueType_With_impltype extends OpaqueType {
1019
+ +impltype: $NonMaybeType<OpaqueType['impltype']>;
1020
+ }
1021
+ interface OpaqueType_With_supertype extends OpaqueType {
1022
+ +supertype: $NonMaybeType<OpaqueType['supertype']>;
1023
+ }
1024
+ interface OptionalCallExpression_With_callee extends OptionalCallExpression {
1025
+ +callee: $NonMaybeType<OptionalCallExpression['callee']>;
1026
+ }
1027
+ interface OptionalCallExpression_With_typeArguments
1028
+ extends OptionalCallExpression {
1029
+ +typeArguments: $NonMaybeType<OptionalCallExpression['typeArguments']>;
1030
+ }
1031
+ interface OptionalCallExpression_With_arguments extends OptionalCallExpression {
1032
+ +arguments: $NonMaybeType<OptionalCallExpression['arguments']>;
1033
+ }
1034
+ interface OptionalCallExpression_With_optional extends OptionalCallExpression {
1035
+ +optional: $NonMaybeType<OptionalCallExpression['optional']>;
1036
+ }
1037
+ interface OptionalIndexedAccessType_With_objectType
1038
+ extends OptionalIndexedAccessType {
1039
+ +objectType: $NonMaybeType<OptionalIndexedAccessType['objectType']>;
1040
+ }
1041
+ interface OptionalIndexedAccessType_With_indexType
1042
+ extends OptionalIndexedAccessType {
1043
+ +indexType: $NonMaybeType<OptionalIndexedAccessType['indexType']>;
1044
+ }
1045
+ interface OptionalIndexedAccessType_With_optional
1046
+ extends OptionalIndexedAccessType {
1047
+ +optional: $NonMaybeType<OptionalIndexedAccessType['optional']>;
1048
+ }
1049
+ interface OptionalMemberExpression_With_object
1050
+ extends OptionalMemberExpression {
1051
+ +object: $NonMaybeType<OptionalMemberExpression['object']>;
1052
+ }
1053
+ interface OptionalMemberExpression_With_property
1054
+ extends OptionalMemberExpression {
1055
+ +property: $NonMaybeType<OptionalMemberExpression['property']>;
1056
+ }
1057
+ interface OptionalMemberExpression_With_computed
1058
+ extends OptionalMemberExpression {
1059
+ +computed: $NonMaybeType<OptionalMemberExpression['computed']>;
1060
+ }
1061
+ interface OptionalMemberExpression_With_optional
1062
+ extends OptionalMemberExpression {
1063
+ +optional: $NonMaybeType<OptionalMemberExpression['optional']>;
1064
+ }
1065
+ interface PrivateName_With_id extends PrivateName {
1066
+ +id: $NonMaybeType<PrivateName['id']>;
1067
+ }
1068
+ interface Program_With_body extends Program {
1069
+ +body: $NonMaybeType<Program['body']>;
1070
+ }
1071
+ interface Property_With_key extends Property {
1072
+ +key: $NonMaybeType<Property['key']>;
1073
+ }
1074
+ interface Property_With_value extends Property {
1075
+ +value: $NonMaybeType<Property['value']>;
1076
+ }
1077
+ interface Property_With_kind extends Property {
1078
+ +kind: $NonMaybeType<Property['kind']>;
1079
+ }
1080
+ interface Property_With_computed extends Property {
1081
+ +computed: $NonMaybeType<Property['computed']>;
1082
+ }
1083
+ interface Property_With_method extends Property {
1084
+ +method: $NonMaybeType<Property['method']>;
1085
+ }
1086
+ interface Property_With_shorthand extends Property {
1087
+ +shorthand: $NonMaybeType<Property['shorthand']>;
1088
+ }
1089
+ interface QualifiedTypeIdentifier_With_qualification
1090
+ extends QualifiedTypeIdentifier {
1091
+ +qualification: $NonMaybeType<QualifiedTypeIdentifier['qualification']>;
1092
+ }
1093
+ interface QualifiedTypeIdentifier_With_id extends QualifiedTypeIdentifier {
1094
+ +id: $NonMaybeType<QualifiedTypeIdentifier['id']>;
1095
+ }
1096
+ interface RestElement_With_argument extends RestElement {
1097
+ +argument: $NonMaybeType<RestElement['argument']>;
1098
+ }
1099
+ interface ReturnStatement_With_argument extends ReturnStatement {
1100
+ +argument: $NonMaybeType<ReturnStatement['argument']>;
1101
+ }
1102
+ interface SequenceExpression_With_expressions extends SequenceExpression {
1103
+ +expressions: $NonMaybeType<SequenceExpression['expressions']>;
1104
+ }
1105
+ interface SpreadElement_With_argument extends SpreadElement {
1106
+ +argument: $NonMaybeType<SpreadElement['argument']>;
1107
+ }
1108
+ interface StringLiteralTypeAnnotation_With_value
1109
+ extends StringLiteralTypeAnnotation {
1110
+ +value: $NonMaybeType<StringLiteralTypeAnnotation['value']>;
1111
+ }
1112
+ interface SwitchCase_With_test extends SwitchCase {
1113
+ +test: $NonMaybeType<SwitchCase['test']>;
1114
+ }
1115
+ interface SwitchCase_With_consequent extends SwitchCase {
1116
+ +consequent: $NonMaybeType<SwitchCase['consequent']>;
1117
+ }
1118
+ interface SwitchStatement_With_discriminant extends SwitchStatement {
1119
+ +discriminant: $NonMaybeType<SwitchStatement['discriminant']>;
1120
+ }
1121
+ interface SwitchStatement_With_cases extends SwitchStatement {
1122
+ +cases: $NonMaybeType<SwitchStatement['cases']>;
1123
+ }
1124
+ interface TaggedTemplateExpression_With_tag extends TaggedTemplateExpression {
1125
+ +tag: $NonMaybeType<TaggedTemplateExpression['tag']>;
1126
+ }
1127
+ interface TaggedTemplateExpression_With_quasi extends TaggedTemplateExpression {
1128
+ +quasi: $NonMaybeType<TaggedTemplateExpression['quasi']>;
1129
+ }
1130
+ interface TemplateElement_With_tail extends TemplateElement {
1131
+ +tail: $NonMaybeType<TemplateElement['tail']>;
1132
+ }
1133
+ interface TemplateElement_With_cooked extends TemplateElement {
1134
+ +cooked: $NonMaybeType<TemplateElement['cooked']>;
1135
+ }
1136
+ interface TemplateElement_With_raw extends TemplateElement {
1137
+ +raw: $NonMaybeType<TemplateElement['raw']>;
1138
+ }
1139
+ interface TemplateLiteral_With_quasis extends TemplateLiteral {
1140
+ +quasis: $NonMaybeType<TemplateLiteral['quasis']>;
1141
+ }
1142
+ interface TemplateLiteral_With_expressions extends TemplateLiteral {
1143
+ +expressions: $NonMaybeType<TemplateLiteral['expressions']>;
1144
+ }
1145
+ interface ThrowStatement_With_argument extends ThrowStatement {
1146
+ +argument: $NonMaybeType<ThrowStatement['argument']>;
1147
+ }
1148
+ interface TryStatement_With_block extends TryStatement {
1149
+ +block: $NonMaybeType<TryStatement['block']>;
1150
+ }
1151
+ interface TryStatement_With_handler extends TryStatement {
1152
+ +handler: $NonMaybeType<TryStatement['handler']>;
1153
+ }
1154
+ interface TryStatement_With_finalizer extends TryStatement {
1155
+ +finalizer: $NonMaybeType<TryStatement['finalizer']>;
1156
+ }
1157
+ interface TupleTypeAnnotation_With_types extends TupleTypeAnnotation {
1158
+ +types: $NonMaybeType<TupleTypeAnnotation['types']>;
1159
+ }
1160
+ interface TypeAlias_With_id extends TypeAlias {
1161
+ +id: $NonMaybeType<TypeAlias['id']>;
1162
+ }
1163
+ interface TypeAlias_With_typeParameters extends TypeAlias {
1164
+ +typeParameters: $NonMaybeType<TypeAlias['typeParameters']>;
1165
+ }
1166
+ interface TypeAlias_With_right extends TypeAlias {
1167
+ +right: $NonMaybeType<TypeAlias['right']>;
1168
+ }
1169
+ interface TypeAnnotation_With_typeAnnotation extends TypeAnnotation {
1170
+ +typeAnnotation: $NonMaybeType<TypeAnnotation['typeAnnotation']>;
1171
+ }
1172
+ interface TypeCastExpression_With_expression extends TypeCastExpression {
1173
+ +expression: $NonMaybeType<TypeCastExpression['expression']>;
1174
+ }
1175
+ interface TypeCastExpression_With_typeAnnotation extends TypeCastExpression {
1176
+ +typeAnnotation: $NonMaybeType<TypeCastExpression['typeAnnotation']>;
1177
+ }
1178
+ interface TypeofTypeAnnotation_With_argument extends TypeofTypeAnnotation {
1179
+ +argument: $NonMaybeType<TypeofTypeAnnotation['argument']>;
1180
+ }
1181
+ interface TypeParameter_With_name extends TypeParameter {
1182
+ +name: $NonMaybeType<TypeParameter['name']>;
1183
+ }
1184
+ interface TypeParameter_With_bound extends TypeParameter {
1185
+ +bound: $NonMaybeType<TypeParameter['bound']>;
1186
+ }
1187
+ interface TypeParameter_With_variance extends TypeParameter {
1188
+ +variance: $NonMaybeType<TypeParameter['variance']>;
1189
+ }
1190
+ interface TypeParameter_With_default extends TypeParameter {
1191
+ +default: $NonMaybeType<TypeParameter['default']>;
1192
+ }
1193
+ interface TypeParameterDeclaration_With_params
1194
+ extends TypeParameterDeclaration {
1195
+ +params: $NonMaybeType<TypeParameterDeclaration['params']>;
1196
+ }
1197
+ interface TypeParameterInstantiation_With_params
1198
+ extends TypeParameterInstantiation {
1199
+ +params: $NonMaybeType<TypeParameterInstantiation['params']>;
1200
+ }
1201
+ interface UnaryExpression_With_operator extends UnaryExpression {
1202
+ +operator: $NonMaybeType<UnaryExpression['operator']>;
1203
+ }
1204
+ interface UnaryExpression_With_argument extends UnaryExpression {
1205
+ +argument: $NonMaybeType<UnaryExpression['argument']>;
1206
+ }
1207
+ interface UnaryExpression_With_prefix extends UnaryExpression {
1208
+ +prefix: $NonMaybeType<UnaryExpression['prefix']>;
1209
+ }
1210
+ interface UnionTypeAnnotation_With_types extends UnionTypeAnnotation {
1211
+ +types: $NonMaybeType<UnionTypeAnnotation['types']>;
1212
+ }
1213
+ interface UpdateExpression_With_operator extends UpdateExpression {
1214
+ +operator: $NonMaybeType<UpdateExpression['operator']>;
1215
+ }
1216
+ interface UpdateExpression_With_argument extends UpdateExpression {
1217
+ +argument: $NonMaybeType<UpdateExpression['argument']>;
1218
+ }
1219
+ interface UpdateExpression_With_prefix extends UpdateExpression {
1220
+ +prefix: $NonMaybeType<UpdateExpression['prefix']>;
1221
+ }
1222
+ interface VariableDeclaration_With_kind extends VariableDeclaration {
1223
+ +kind: $NonMaybeType<VariableDeclaration['kind']>;
1224
+ }
1225
+ interface VariableDeclaration_With_declarations extends VariableDeclaration {
1226
+ +declarations: $NonMaybeType<VariableDeclaration['declarations']>;
1227
+ }
1228
+ interface VariableDeclarator_With_init extends VariableDeclarator {
1229
+ +init: $NonMaybeType<VariableDeclarator['init']>;
1230
+ }
1231
+ interface VariableDeclarator_With_id extends VariableDeclarator {
1232
+ +id: $NonMaybeType<VariableDeclarator['id']>;
1233
+ }
1234
+ interface Variance_With_kind extends Variance {
1235
+ +kind: $NonMaybeType<Variance['kind']>;
1236
+ }
1237
+ interface WhileStatement_With_body extends WhileStatement {
1238
+ +body: $NonMaybeType<WhileStatement['body']>;
1239
+ }
1240
+ interface WhileStatement_With_test extends WhileStatement {
1241
+ +test: $NonMaybeType<WhileStatement['test']>;
1242
+ }
1243
+ interface WithStatement_With_object extends WithStatement {
1244
+ +object: $NonMaybeType<WithStatement['object']>;
1245
+ }
1246
+ interface WithStatement_With_body extends WithStatement {
1247
+ +body: $NonMaybeType<WithStatement['body']>;
1248
+ }
1249
+ interface YieldExpression_With_argument extends YieldExpression {
1250
+ +argument: $NonMaybeType<YieldExpression['argument']>;
1251
+ }
1252
+ interface YieldExpression_With_delegate extends YieldExpression {
1253
+ +delegate: $NonMaybeType<YieldExpression['delegate']>;
1254
+ }
1255
+ type StarSpecialSelector = ESNode;
1256
+ type StatementSpecialSelector =
1257
+ | BlockStatement
1258
+ | BreakStatement
1259
+ | ContinueStatement
1260
+ | DebuggerStatement
1261
+ | DoWhileStatement
1262
+ | EmptyStatement
1263
+ | ExpressionStatement
1264
+ | ForInStatement
1265
+ | ForOfStatement
1266
+ | ForStatement
1267
+ | IfStatement
1268
+ | LabeledStatement
1269
+ | ReturnStatement
1270
+ | SwitchStatement
1271
+ | ThrowStatement
1272
+ | TryStatement
1273
+ | WhileStatement
1274
+ | WithStatement;
1275
+ type DeclarationSpecialSelector =
1276
+ | ClassDeclaration
1277
+ | DeclareExportAllDeclaration
1278
+ | DeclareExportDeclaration
1279
+ | EnumDeclaration
1280
+ | ExportAllDeclaration
1281
+ | ExportDefaultDeclaration
1282
+ | ExportNamedDeclaration
1283
+ | FunctionDeclaration
1284
+ | ImportDeclaration
1285
+ | InterfaceDeclaration
1286
+ | TypeParameterDeclaration
1287
+ | VariableDeclaration;
1288
+ type PatternSpecialSelector = ArrayPattern | AssignmentPattern | ObjectPattern;
1289
+ type ExpressionSpecialSelector =
1290
+ | Identifier
1291
+ | MetaProperty
1292
+ | ArrayExpression
1293
+ | ArrowFunctionExpression
1294
+ | AssignmentExpression
1295
+ | AwaitExpression
1296
+ | BinaryExpression
1297
+ | CallExpression
1298
+ | ClassExpression
1299
+ | ConditionalExpression
1300
+ | FunctionExpression
1301
+ | ImportExpression
1302
+ | JSXEmptyExpression
1303
+ | JSXMemberExpression
1304
+ | LogicalExpression
1305
+ | MemberExpression
1306
+ | NewExpression
1307
+ | ObjectExpression
1308
+ | OptionalCallExpression
1309
+ | OptionalMemberExpression
1310
+ | SequenceExpression
1311
+ | TaggedTemplateExpression
1312
+ | ThisExpression
1313
+ | TypeCastExpression
1314
+ | UnaryExpression
1315
+ | UpdateExpression
1316
+ | YieldExpression
1317
+ | TemplateLiteral;
1318
+ type FunctionSpecialSelector =
1319
+ | FunctionDeclaration
1320
+ | FunctionExpression
1321
+ | ArrowFunctionExpression;
1322
+
1323
+ export type ESQueryNodeSelectorsWithoutFallback = {
1324
+ +AnyTypeAnnotation?: (node: AnyTypeAnnotation) => void,
1325
+ +ArrayExpression?: (node: ArrayExpression) => void,
1326
+ +'ArrayExpression[elements]'?: (node: ArrayExpression_With_elements) => void,
1327
+ +'ArrayExpression[trailingComma]'?: (
1328
+ node: ArrayExpression_With_trailingComma,
1329
+ ) => void,
1330
+ +ArrayPattern?: (node: ArrayPattern) => void,
1331
+ +'ArrayPattern[elements]'?: (node: ArrayPattern_With_elements) => void,
1332
+ +'ArrayPattern[typeAnnotation]'?: (
1333
+ node: ArrayPattern_With_typeAnnotation,
1334
+ ) => void,
1335
+ +ArrayTypeAnnotation?: (node: ArrayTypeAnnotation) => void,
1336
+ +'ArrayTypeAnnotation[elementType]'?: (
1337
+ node: ArrayTypeAnnotation_With_elementType,
1338
+ ) => void,
1339
+ +ArrowFunctionExpression?: (node: ArrowFunctionExpression) => void,
1340
+ +'ArrowFunctionExpression[id]'?: (
1341
+ node: ArrowFunctionExpression_With_id,
1342
+ ) => void,
1343
+ +'ArrowFunctionExpression[params]'?: (
1344
+ node: ArrowFunctionExpression_With_params,
1345
+ ) => void,
1346
+ +'ArrowFunctionExpression[body]'?: (
1347
+ node: ArrowFunctionExpression_With_body,
1348
+ ) => void,
1349
+ +'ArrowFunctionExpression[typeParameters]'?: (
1350
+ node: ArrowFunctionExpression_With_typeParameters,
1351
+ ) => void,
1352
+ +'ArrowFunctionExpression[returnType]'?: (
1353
+ node: ArrowFunctionExpression_With_returnType,
1354
+ ) => void,
1355
+ +'ArrowFunctionExpression[predicate]'?: (
1356
+ node: ArrowFunctionExpression_With_predicate,
1357
+ ) => void,
1358
+ +'ArrowFunctionExpression[expression]'?: (
1359
+ node: ArrowFunctionExpression_With_expression,
1360
+ ) => void,
1361
+ +'ArrowFunctionExpression[async]'?: (
1362
+ node: ArrowFunctionExpression_With_async,
1363
+ ) => void,
1364
+ +AssignmentExpression?: (node: AssignmentExpression) => void,
1365
+ +'AssignmentExpression[operator]'?: (
1366
+ node: AssignmentExpression_With_operator,
1367
+ ) => void,
1368
+ +'AssignmentExpression[left]'?: (
1369
+ node: AssignmentExpression_With_left,
1370
+ ) => void,
1371
+ +'AssignmentExpression[right]'?: (
1372
+ node: AssignmentExpression_With_right,
1373
+ ) => void,
1374
+ +AssignmentPattern?: (node: AssignmentPattern) => void,
1375
+ +'AssignmentPattern[left]'?: (node: AssignmentPattern_With_left) => void,
1376
+ +'AssignmentPattern[right]'?: (node: AssignmentPattern_With_right) => void,
1377
+ +AwaitExpression?: (node: AwaitExpression) => void,
1378
+ +'AwaitExpression[argument]'?: (node: AwaitExpression_With_argument) => void,
1379
+ +BinaryExpression?: (node: BinaryExpression) => void,
1380
+ +'BinaryExpression[left]'?: (node: BinaryExpression_With_left) => void,
1381
+ +'BinaryExpression[right]'?: (node: BinaryExpression_With_right) => void,
1382
+ +'BinaryExpression[operator]'?: (
1383
+ node: BinaryExpression_With_operator,
1384
+ ) => void,
1385
+ +BlockStatement?: (node: BlockStatement) => void,
1386
+ +'BlockStatement[body]'?: (node: BlockStatement_With_body) => void,
1387
+ +BooleanLiteralTypeAnnotation?: (node: BooleanLiteralTypeAnnotation) => void,
1388
+ +'BooleanLiteralTypeAnnotation[value]'?: (
1389
+ node: BooleanLiteralTypeAnnotation_With_value,
1390
+ ) => void,
1391
+ +'BooleanLiteralTypeAnnotation[raw]'?: (
1392
+ node: BooleanLiteralTypeAnnotation_With_raw,
1393
+ ) => void,
1394
+ +BooleanTypeAnnotation?: (node: BooleanTypeAnnotation) => void,
1395
+ +BreakStatement?: (node: BreakStatement) => void,
1396
+ +'BreakStatement[label]'?: (node: BreakStatement_With_label) => void,
1397
+ +CallExpression?: (node: CallExpression) => void,
1398
+ +'CallExpression[callee]'?: (node: CallExpression_With_callee) => void,
1399
+ +'CallExpression[typeArguments]'?: (
1400
+ node: CallExpression_With_typeArguments,
1401
+ ) => void,
1402
+ +'CallExpression[arguments]'?: (node: CallExpression_With_arguments) => void,
1403
+ +CatchClause?: (node: CatchClause) => void,
1404
+ +'CatchClause[param]'?: (node: CatchClause_With_param) => void,
1405
+ +'CatchClause[body]'?: (node: CatchClause_With_body) => void,
1406
+ +ClassBody?: (node: ClassBody) => void,
1407
+ +'ClassBody[body]'?: (node: ClassBody_With_body) => void,
1408
+ +ClassDeclaration?: (node: ClassDeclaration) => void,
1409
+ +'ClassDeclaration[id]'?: (node: ClassDeclaration_With_id) => void,
1410
+ +'ClassDeclaration[typeParameters]'?: (
1411
+ node: ClassDeclaration_With_typeParameters,
1412
+ ) => void,
1413
+ +'ClassDeclaration[superClass]'?: (
1414
+ node: ClassDeclaration_With_superClass,
1415
+ ) => void,
1416
+ +'ClassDeclaration[superTypeParameters]'?: (
1417
+ node: ClassDeclaration_With_superTypeParameters,
1418
+ ) => void,
1419
+ +'ClassDeclaration[implements]'?: (
1420
+ node: ClassDeclaration_With_implements,
1421
+ ) => void,
1422
+ +'ClassDeclaration[decorators]'?: (
1423
+ node: ClassDeclaration_With_decorators,
1424
+ ) => void,
1425
+ +'ClassDeclaration[body]'?: (node: ClassDeclaration_With_body) => void,
1426
+ +ClassExpression?: (node: ClassExpression) => void,
1427
+ +'ClassExpression[id]'?: (node: ClassExpression_With_id) => void,
1428
+ +'ClassExpression[typeParameters]'?: (
1429
+ node: ClassExpression_With_typeParameters,
1430
+ ) => void,
1431
+ +'ClassExpression[superClass]'?: (
1432
+ node: ClassExpression_With_superClass,
1433
+ ) => void,
1434
+ +'ClassExpression[superTypeParameters]'?: (
1435
+ node: ClassExpression_With_superTypeParameters,
1436
+ ) => void,
1437
+ +'ClassExpression[implements]'?: (
1438
+ node: ClassExpression_With_implements,
1439
+ ) => void,
1440
+ +'ClassExpression[decorators]'?: (
1441
+ node: ClassExpression_With_decorators,
1442
+ ) => void,
1443
+ +'ClassExpression[body]'?: (node: ClassExpression_With_body) => void,
1444
+ +ClassImplements?: (node: ClassImplements) => void,
1445
+ +'ClassImplements[id]'?: (node: ClassImplements_With_id) => void,
1446
+ +'ClassImplements[typeParameters]'?: (
1447
+ node: ClassImplements_With_typeParameters,
1448
+ ) => void,
1449
+ +ClassPrivateProperty?: (node: ClassPrivateProperty) => void,
1450
+ +'ClassPrivateProperty[key]'?: (node: ClassPrivateProperty_With_key) => void,
1451
+ +'ClassPrivateProperty[value]'?: (
1452
+ node: ClassPrivateProperty_With_value,
1453
+ ) => void,
1454
+ +'ClassPrivateProperty[static]'?: (
1455
+ node: ClassPrivateProperty_With_static,
1456
+ ) => void,
1457
+ +'ClassPrivateProperty[declare]'?: (
1458
+ node: ClassPrivateProperty_With_declare,
1459
+ ) => void,
1460
+ +'ClassPrivateProperty[optional]'?: (
1461
+ node: ClassPrivateProperty_With_optional,
1462
+ ) => void,
1463
+ +'ClassPrivateProperty[variance]'?: (
1464
+ node: ClassPrivateProperty_With_variance,
1465
+ ) => void,
1466
+ +'ClassPrivateProperty[typeAnnotation]'?: (
1467
+ node: ClassPrivateProperty_With_typeAnnotation,
1468
+ ) => void,
1469
+ +ClassProperty?: (node: ClassProperty) => void,
1470
+ +'ClassProperty[key]'?: (node: ClassProperty_With_key) => void,
1471
+ +'ClassProperty[value]'?: (node: ClassProperty_With_value) => void,
1472
+ +'ClassProperty[computed]'?: (node: ClassProperty_With_computed) => void,
1473
+ +'ClassProperty[static]'?: (node: ClassProperty_With_static) => void,
1474
+ +'ClassProperty[declare]'?: (node: ClassProperty_With_declare) => void,
1475
+ +'ClassProperty[optional]'?: (node: ClassProperty_With_optional) => void,
1476
+ +'ClassProperty[variance]'?: (node: ClassProperty_With_variance) => void,
1477
+ +'ClassProperty[typeAnnotation]'?: (
1478
+ node: ClassProperty_With_typeAnnotation,
1479
+ ) => void,
1480
+ +ConditionalExpression?: (node: ConditionalExpression) => void,
1481
+ +'ConditionalExpression[test]'?: (
1482
+ node: ConditionalExpression_With_test,
1483
+ ) => void,
1484
+ +'ConditionalExpression[alternate]'?: (
1485
+ node: ConditionalExpression_With_alternate,
1486
+ ) => void,
1487
+ +'ConditionalExpression[consequent]'?: (
1488
+ node: ConditionalExpression_With_consequent,
1489
+ ) => void,
1490
+ +ContinueStatement?: (node: ContinueStatement) => void,
1491
+ +'ContinueStatement[label]'?: (node: ContinueStatement_With_label) => void,
1492
+ +DebuggerStatement?: (node: DebuggerStatement) => void,
1493
+ +DeclareClass?: (node: DeclareClass) => void,
1494
+ +'DeclareClass[id]'?: (node: DeclareClass_With_id) => void,
1495
+ +'DeclareClass[typeParameters]'?: (
1496
+ node: DeclareClass_With_typeParameters,
1497
+ ) => void,
1498
+ +'DeclareClass[extends]'?: (node: DeclareClass_With_extends) => void,
1499
+ +'DeclareClass[implements]'?: (node: DeclareClass_With_implements) => void,
1500
+ +'DeclareClass[mixins]'?: (node: DeclareClass_With_mixins) => void,
1501
+ +'DeclareClass[body]'?: (node: DeclareClass_With_body) => void,
1502
+ +DeclaredPredicate?: (node: DeclaredPredicate) => void,
1503
+ +'DeclaredPredicate[value]'?: (node: DeclaredPredicate_With_value) => void,
1504
+ +DeclareExportAllDeclaration?: (node: DeclareExportAllDeclaration) => void,
1505
+ +'DeclareExportAllDeclaration[source]'?: (
1506
+ node: DeclareExportAllDeclaration_With_source,
1507
+ ) => void,
1508
+ +DeclareExportDeclaration?: (node: DeclareExportDeclaration) => void,
1509
+ +'DeclareExportDeclaration[declaration]'?: (
1510
+ node: DeclareExportDeclaration_With_declaration,
1511
+ ) => void,
1512
+ +'DeclareExportDeclaration[specifiers]'?: (
1513
+ node: DeclareExportDeclaration_With_specifiers,
1514
+ ) => void,
1515
+ +'DeclareExportDeclaration[source]'?: (
1516
+ node: DeclareExportDeclaration_With_source,
1517
+ ) => void,
1518
+ +'DeclareExportDeclaration[default]'?: (
1519
+ node: DeclareExportDeclaration_With_default,
1520
+ ) => void,
1521
+ +DeclareFunction?: (node: DeclareFunction) => void,
1522
+ +'DeclareFunction[id]'?: (node: DeclareFunction_With_id) => void,
1523
+ +'DeclareFunction[predicate]'?: (
1524
+ node: DeclareFunction_With_predicate,
1525
+ ) => void,
1526
+ +DeclareInterface?: (node: DeclareInterface) => void,
1527
+ +'DeclareInterface[id]'?: (node: DeclareInterface_With_id) => void,
1528
+ +'DeclareInterface[typeParameters]'?: (
1529
+ node: DeclareInterface_With_typeParameters,
1530
+ ) => void,
1531
+ +'DeclareInterface[extends]'?: (node: DeclareInterface_With_extends) => void,
1532
+ +'DeclareInterface[body]'?: (node: DeclareInterface_With_body) => void,
1533
+ +DeclareModule?: (node: DeclareModule) => void,
1534
+ +'DeclareModule[id]'?: (node: DeclareModule_With_id) => void,
1535
+ +'DeclareModule[body]'?: (node: DeclareModule_With_body) => void,
1536
+ +'DeclareModule[kind]'?: (node: DeclareModule_With_kind) => void,
1537
+ +DeclareModuleExports?: (node: DeclareModuleExports) => void,
1538
+ +'DeclareModuleExports[typeAnnotation]'?: (
1539
+ node: DeclareModuleExports_With_typeAnnotation,
1540
+ ) => void,
1541
+ +DeclareOpaqueType?: (node: DeclareOpaqueType) => void,
1542
+ +'DeclareOpaqueType[id]'?: (node: DeclareOpaqueType_With_id) => void,
1543
+ +'DeclareOpaqueType[typeParameters]'?: (
1544
+ node: DeclareOpaqueType_With_typeParameters,
1545
+ ) => void,
1546
+ +'DeclareOpaqueType[impltype]'?: (
1547
+ node: DeclareOpaqueType_With_impltype,
1548
+ ) => void,
1549
+ +'DeclareOpaqueType[supertype]'?: (
1550
+ node: DeclareOpaqueType_With_supertype,
1551
+ ) => void,
1552
+ +DeclareTypeAlias?: (node: DeclareTypeAlias) => void,
1553
+ +'DeclareTypeAlias[id]'?: (node: DeclareTypeAlias_With_id) => void,
1554
+ +'DeclareTypeAlias[typeParameters]'?: (
1555
+ node: DeclareTypeAlias_With_typeParameters,
1556
+ ) => void,
1557
+ +'DeclareTypeAlias[right]'?: (node: DeclareTypeAlias_With_right) => void,
1558
+ +DeclareVariable?: (node: DeclareVariable) => void,
1559
+ +'DeclareVariable[id]'?: (node: DeclareVariable_With_id) => void,
1560
+ +DoWhileStatement?: (node: DoWhileStatement) => void,
1561
+ +'DoWhileStatement[body]'?: (node: DoWhileStatement_With_body) => void,
1562
+ +'DoWhileStatement[test]'?: (node: DoWhileStatement_With_test) => void,
1563
+ +EmptyStatement?: (node: EmptyStatement) => void,
1564
+ +EmptyTypeAnnotation?: (node: EmptyTypeAnnotation) => void,
1565
+ +EnumBooleanBody?: (node: EnumBooleanBody) => void,
1566
+ +'EnumBooleanBody[members]'?: (node: EnumBooleanBody_With_members) => void,
1567
+ +'EnumBooleanBody[explicitType]'?: (
1568
+ node: EnumBooleanBody_With_explicitType,
1569
+ ) => void,
1570
+ +'EnumBooleanBody[hasUnknownMembers]'?: (
1571
+ node: EnumBooleanBody_With_hasUnknownMembers,
1572
+ ) => void,
1573
+ +EnumBooleanMember?: (node: EnumBooleanMember) => void,
1574
+ +'EnumBooleanMember[id]'?: (node: EnumBooleanMember_With_id) => void,
1575
+ +'EnumBooleanMember[init]'?: (node: EnumBooleanMember_With_init) => void,
1576
+ +EnumDeclaration?: (node: EnumDeclaration) => void,
1577
+ +'EnumDeclaration[id]'?: (node: EnumDeclaration_With_id) => void,
1578
+ +'EnumDeclaration[body]'?: (node: EnumDeclaration_With_body) => void,
1579
+ +EnumDefaultedMember?: (node: EnumDefaultedMember) => void,
1580
+ +'EnumDefaultedMember[id]'?: (node: EnumDefaultedMember_With_id) => void,
1581
+ +EnumNumberBody?: (node: EnumNumberBody) => void,
1582
+ +'EnumNumberBody[members]'?: (node: EnumNumberBody_With_members) => void,
1583
+ +'EnumNumberBody[explicitType]'?: (
1584
+ node: EnumNumberBody_With_explicitType,
1585
+ ) => void,
1586
+ +'EnumNumberBody[hasUnknownMembers]'?: (
1587
+ node: EnumNumberBody_With_hasUnknownMembers,
1588
+ ) => void,
1589
+ +EnumNumberMember?: (node: EnumNumberMember) => void,
1590
+ +'EnumNumberMember[id]'?: (node: EnumNumberMember_With_id) => void,
1591
+ +'EnumNumberMember[init]'?: (node: EnumNumberMember_With_init) => void,
1592
+ +EnumStringBody?: (node: EnumStringBody) => void,
1593
+ +'EnumStringBody[members]'?: (node: EnumStringBody_With_members) => void,
1594
+ +'EnumStringBody[explicitType]'?: (
1595
+ node: EnumStringBody_With_explicitType,
1596
+ ) => void,
1597
+ +'EnumStringBody[hasUnknownMembers]'?: (
1598
+ node: EnumStringBody_With_hasUnknownMembers,
1599
+ ) => void,
1600
+ +EnumStringMember?: (node: EnumStringMember) => void,
1601
+ +'EnumStringMember[id]'?: (node: EnumStringMember_With_id) => void,
1602
+ +'EnumStringMember[init]'?: (node: EnumStringMember_With_init) => void,
1603
+ +EnumSymbolBody?: (node: EnumSymbolBody) => void,
1604
+ +'EnumSymbolBody[members]'?: (node: EnumSymbolBody_With_members) => void,
1605
+ +'EnumSymbolBody[hasUnknownMembers]'?: (
1606
+ node: EnumSymbolBody_With_hasUnknownMembers,
1607
+ ) => void,
1608
+ +ExistsTypeAnnotation?: (node: ExistsTypeAnnotation) => void,
1609
+ +ExportAllDeclaration?: (node: ExportAllDeclaration) => void,
1610
+ +'ExportAllDeclaration[source]'?: (
1611
+ node: ExportAllDeclaration_With_source,
1612
+ ) => void,
1613
+ +'ExportAllDeclaration[exportKind]'?: (
1614
+ node: ExportAllDeclaration_With_exportKind,
1615
+ ) => void,
1616
+ +ExportDefaultDeclaration?: (node: ExportDefaultDeclaration) => void,
1617
+ +'ExportDefaultDeclaration[declaration]'?: (
1618
+ node: ExportDefaultDeclaration_With_declaration,
1619
+ ) => void,
1620
+ +ExportNamedDeclaration?: (node: ExportNamedDeclaration) => void,
1621
+ +'ExportNamedDeclaration[declaration]'?: (
1622
+ node: ExportNamedDeclaration_With_declaration,
1623
+ ) => void,
1624
+ +'ExportNamedDeclaration[specifiers]'?: (
1625
+ node: ExportNamedDeclaration_With_specifiers,
1626
+ ) => void,
1627
+ +'ExportNamedDeclaration[source]'?: (
1628
+ node: ExportNamedDeclaration_With_source,
1629
+ ) => void,
1630
+ +'ExportNamedDeclaration[exportKind]'?: (
1631
+ node: ExportNamedDeclaration_With_exportKind,
1632
+ ) => void,
1633
+ +ExportNamespaceSpecifier?: (node: ExportNamespaceSpecifier) => void,
1634
+ +'ExportNamespaceSpecifier[exported]'?: (
1635
+ node: ExportNamespaceSpecifier_With_exported,
1636
+ ) => void,
1637
+ +ExportSpecifier?: (node: ExportSpecifier) => void,
1638
+ +'ExportSpecifier[exported]'?: (node: ExportSpecifier_With_exported) => void,
1639
+ +'ExportSpecifier[local]'?: (node: ExportSpecifier_With_local) => void,
1640
+ +ExpressionStatement?: (node: ExpressionStatement) => void,
1641
+ +'ExpressionStatement[expression]'?: (
1642
+ node: ExpressionStatement_With_expression,
1643
+ ) => void,
1644
+ +'ExpressionStatement[directive]'?: (
1645
+ node: ExpressionStatement_With_directive,
1646
+ ) => void,
1647
+ +ForInStatement?: (node: ForInStatement) => void,
1648
+ +'ForInStatement[left]'?: (node: ForInStatement_With_left) => void,
1649
+ +'ForInStatement[right]'?: (node: ForInStatement_With_right) => void,
1650
+ +'ForInStatement[body]'?: (node: ForInStatement_With_body) => void,
1651
+ +ForOfStatement?: (node: ForOfStatement) => void,
1652
+ +'ForOfStatement[left]'?: (node: ForOfStatement_With_left) => void,
1653
+ +'ForOfStatement[right]'?: (node: ForOfStatement_With_right) => void,
1654
+ +'ForOfStatement[body]'?: (node: ForOfStatement_With_body) => void,
1655
+ +'ForOfStatement[await]'?: (node: ForOfStatement_With_await) => void,
1656
+ +ForStatement?: (node: ForStatement) => void,
1657
+ +'ForStatement[init]'?: (node: ForStatement_With_init) => void,
1658
+ +'ForStatement[test]'?: (node: ForStatement_With_test) => void,
1659
+ +'ForStatement[update]'?: (node: ForStatement_With_update) => void,
1660
+ +'ForStatement[body]'?: (node: ForStatement_With_body) => void,
1661
+ +FunctionDeclaration?: (node: FunctionDeclaration) => void,
1662
+ +'FunctionDeclaration[id]'?: (node: FunctionDeclaration_With_id) => void,
1663
+ +'FunctionDeclaration[params]'?: (
1664
+ node: FunctionDeclaration_With_params,
1665
+ ) => void,
1666
+ +'FunctionDeclaration[body]'?: (node: FunctionDeclaration_With_body) => void,
1667
+ +'FunctionDeclaration[typeParameters]'?: (
1668
+ node: FunctionDeclaration_With_typeParameters,
1669
+ ) => void,
1670
+ +'FunctionDeclaration[returnType]'?: (
1671
+ node: FunctionDeclaration_With_returnType,
1672
+ ) => void,
1673
+ +'FunctionDeclaration[predicate]'?: (
1674
+ node: FunctionDeclaration_With_predicate,
1675
+ ) => void,
1676
+ +'FunctionDeclaration[generator]'?: (
1677
+ node: FunctionDeclaration_With_generator,
1678
+ ) => void,
1679
+ +'FunctionDeclaration[async]'?: (
1680
+ node: FunctionDeclaration_With_async,
1681
+ ) => void,
1682
+ +FunctionExpression?: (node: FunctionExpression) => void,
1683
+ +'FunctionExpression[id]'?: (node: FunctionExpression_With_id) => void,
1684
+ +'FunctionExpression[params]'?: (
1685
+ node: FunctionExpression_With_params,
1686
+ ) => void,
1687
+ +'FunctionExpression[body]'?: (node: FunctionExpression_With_body) => void,
1688
+ +'FunctionExpression[typeParameters]'?: (
1689
+ node: FunctionExpression_With_typeParameters,
1690
+ ) => void,
1691
+ +'FunctionExpression[returnType]'?: (
1692
+ node: FunctionExpression_With_returnType,
1693
+ ) => void,
1694
+ +'FunctionExpression[predicate]'?: (
1695
+ node: FunctionExpression_With_predicate,
1696
+ ) => void,
1697
+ +'FunctionExpression[generator]'?: (
1698
+ node: FunctionExpression_With_generator,
1699
+ ) => void,
1700
+ +'FunctionExpression[async]'?: (node: FunctionExpression_With_async) => void,
1701
+ +FunctionTypeAnnotation?: (node: FunctionTypeAnnotation) => void,
1702
+ +'FunctionTypeAnnotation[params]'?: (
1703
+ node: FunctionTypeAnnotation_With_params,
1704
+ ) => void,
1705
+ +'FunctionTypeAnnotation[this]'?: (
1706
+ node: FunctionTypeAnnotation_With_this,
1707
+ ) => void,
1708
+ +'FunctionTypeAnnotation[returnType]'?: (
1709
+ node: FunctionTypeAnnotation_With_returnType,
1710
+ ) => void,
1711
+ +'FunctionTypeAnnotation[rest]'?: (
1712
+ node: FunctionTypeAnnotation_With_rest,
1713
+ ) => void,
1714
+ +'FunctionTypeAnnotation[typeParameters]'?: (
1715
+ node: FunctionTypeAnnotation_With_typeParameters,
1716
+ ) => void,
1717
+ +FunctionTypeParam?: (node: FunctionTypeParam) => void,
1718
+ +'FunctionTypeParam[name]'?: (node: FunctionTypeParam_With_name) => void,
1719
+ +'FunctionTypeParam[typeAnnotation]'?: (
1720
+ node: FunctionTypeParam_With_typeAnnotation,
1721
+ ) => void,
1722
+ +'FunctionTypeParam[optional]'?: (
1723
+ node: FunctionTypeParam_With_optional,
1724
+ ) => void,
1725
+ +GenericTypeAnnotation?: (node: GenericTypeAnnotation) => void,
1726
+ +'GenericTypeAnnotation[id]'?: (node: GenericTypeAnnotation_With_id) => void,
1727
+ +'GenericTypeAnnotation[typeParameters]'?: (
1728
+ node: GenericTypeAnnotation_With_typeParameters,
1729
+ ) => void,
1730
+ +Identifier?: (node: Identifier) => void,
1731
+ +'Identifier[name]'?: (node: Identifier_With_name) => void,
1732
+ +'Identifier[typeAnnotation]'?: (
1733
+ node: Identifier_With_typeAnnotation,
1734
+ ) => void,
1735
+ +'Identifier[optional]'?: (node: Identifier_With_optional) => void,
1736
+ +IfStatement?: (node: IfStatement) => void,
1737
+ +'IfStatement[test]'?: (node: IfStatement_With_test) => void,
1738
+ +'IfStatement[consequent]'?: (node: IfStatement_With_consequent) => void,
1739
+ +'IfStatement[alternate]'?: (node: IfStatement_With_alternate) => void,
1740
+ +ImportAttribute?: (node: ImportAttribute) => void,
1741
+ +'ImportAttribute[key]'?: (node: ImportAttribute_With_key) => void,
1742
+ +'ImportAttribute[value]'?: (node: ImportAttribute_With_value) => void,
1743
+ +ImportDeclaration?: (node: ImportDeclaration) => void,
1744
+ +'ImportDeclaration[specifiers]'?: (
1745
+ node: ImportDeclaration_With_specifiers,
1746
+ ) => void,
1747
+ +'ImportDeclaration[source]'?: (node: ImportDeclaration_With_source) => void,
1748
+ +'ImportDeclaration[assertions]'?: (
1749
+ node: ImportDeclaration_With_assertions,
1750
+ ) => void,
1751
+ +'ImportDeclaration[importKind]'?: (
1752
+ node: ImportDeclaration_With_importKind,
1753
+ ) => void,
1754
+ +ImportDefaultSpecifier?: (node: ImportDefaultSpecifier) => void,
1755
+ +'ImportDefaultSpecifier[local]'?: (
1756
+ node: ImportDefaultSpecifier_With_local,
1757
+ ) => void,
1758
+ +ImportExpression?: (node: ImportExpression) => void,
1759
+ +'ImportExpression[source]'?: (node: ImportExpression_With_source) => void,
1760
+ +'ImportExpression[attributes]'?: (
1761
+ node: ImportExpression_With_attributes,
1762
+ ) => void,
1763
+ +ImportNamespaceSpecifier?: (node: ImportNamespaceSpecifier) => void,
1764
+ +'ImportNamespaceSpecifier[local]'?: (
1765
+ node: ImportNamespaceSpecifier_With_local,
1766
+ ) => void,
1767
+ +ImportSpecifier?: (node: ImportSpecifier) => void,
1768
+ +'ImportSpecifier[imported]'?: (node: ImportSpecifier_With_imported) => void,
1769
+ +'ImportSpecifier[local]'?: (node: ImportSpecifier_With_local) => void,
1770
+ +'ImportSpecifier[importKind]'?: (
1771
+ node: ImportSpecifier_With_importKind,
1772
+ ) => void,
1773
+ +IndexedAccessType?: (node: IndexedAccessType) => void,
1774
+ +'IndexedAccessType[objectType]'?: (
1775
+ node: IndexedAccessType_With_objectType,
1776
+ ) => void,
1777
+ +'IndexedAccessType[indexType]'?: (
1778
+ node: IndexedAccessType_With_indexType,
1779
+ ) => void,
1780
+ +InferredPredicate?: (node: InferredPredicate) => void,
1781
+ +InterfaceDeclaration?: (node: InterfaceDeclaration) => void,
1782
+ +'InterfaceDeclaration[id]'?: (node: InterfaceDeclaration_With_id) => void,
1783
+ +'InterfaceDeclaration[typeParameters]'?: (
1784
+ node: InterfaceDeclaration_With_typeParameters,
1785
+ ) => void,
1786
+ +'InterfaceDeclaration[extends]'?: (
1787
+ node: InterfaceDeclaration_With_extends,
1788
+ ) => void,
1789
+ +'InterfaceDeclaration[body]'?: (
1790
+ node: InterfaceDeclaration_With_body,
1791
+ ) => void,
1792
+ +InterfaceExtends?: (node: InterfaceExtends) => void,
1793
+ +'InterfaceExtends[id]'?: (node: InterfaceExtends_With_id) => void,
1794
+ +'InterfaceExtends[typeParameters]'?: (
1795
+ node: InterfaceExtends_With_typeParameters,
1796
+ ) => void,
1797
+ +InterfaceTypeAnnotation?: (node: InterfaceTypeAnnotation) => void,
1798
+ +'InterfaceTypeAnnotation[extends]'?: (
1799
+ node: InterfaceTypeAnnotation_With_extends,
1800
+ ) => void,
1801
+ +'InterfaceTypeAnnotation[body]'?: (
1802
+ node: InterfaceTypeAnnotation_With_body,
1803
+ ) => void,
1804
+ +IntersectionTypeAnnotation?: (node: IntersectionTypeAnnotation) => void,
1805
+ +'IntersectionTypeAnnotation[types]'?: (
1806
+ node: IntersectionTypeAnnotation_With_types,
1807
+ ) => void,
1808
+ +JSXAttribute?: (node: JSXAttribute) => void,
1809
+ +'JSXAttribute[name]'?: (node: JSXAttribute_With_name) => void,
1810
+ +'JSXAttribute[value]'?: (node: JSXAttribute_With_value) => void,
1811
+ +JSXClosingElement?: (node: JSXClosingElement) => void,
1812
+ +'JSXClosingElement[name]'?: (node: JSXClosingElement_With_name) => void,
1813
+ +JSXClosingFragment?: (node: JSXClosingFragment) => void,
1814
+ +JSXElement?: (node: JSXElement) => void,
1815
+ +'JSXElement[openingElement]'?: (
1816
+ node: JSXElement_With_openingElement,
1817
+ ) => void,
1818
+ +'JSXElement[children]'?: (node: JSXElement_With_children) => void,
1819
+ +'JSXElement[closingElement]'?: (
1820
+ node: JSXElement_With_closingElement,
1821
+ ) => void,
1822
+ +JSXEmptyExpression?: (node: JSXEmptyExpression) => void,
1823
+ +JSXExpressionContainer?: (node: JSXExpressionContainer) => void,
1824
+ +'JSXExpressionContainer[expression]'?: (
1825
+ node: JSXExpressionContainer_With_expression,
1826
+ ) => void,
1827
+ +JSXFragment?: (node: JSXFragment) => void,
1828
+ +'JSXFragment[openingFragment]'?: (
1829
+ node: JSXFragment_With_openingFragment,
1830
+ ) => void,
1831
+ +'JSXFragment[children]'?: (node: JSXFragment_With_children) => void,
1832
+ +'JSXFragment[closingFragment]'?: (
1833
+ node: JSXFragment_With_closingFragment,
1834
+ ) => void,
1835
+ +JSXIdentifier?: (node: JSXIdentifier) => void,
1836
+ +'JSXIdentifier[name]'?: (node: JSXIdentifier_With_name) => void,
1837
+ +JSXMemberExpression?: (node: JSXMemberExpression) => void,
1838
+ +'JSXMemberExpression[object]'?: (
1839
+ node: JSXMemberExpression_With_object,
1840
+ ) => void,
1841
+ +'JSXMemberExpression[property]'?: (
1842
+ node: JSXMemberExpression_With_property,
1843
+ ) => void,
1844
+ +JSXNamespacedName?: (node: JSXNamespacedName) => void,
1845
+ +'JSXNamespacedName[namespace]'?: (
1846
+ node: JSXNamespacedName_With_namespace,
1847
+ ) => void,
1848
+ +'JSXNamespacedName[name]'?: (node: JSXNamespacedName_With_name) => void,
1849
+ +JSXOpeningElement?: (node: JSXOpeningElement) => void,
1850
+ +'JSXOpeningElement[name]'?: (node: JSXOpeningElement_With_name) => void,
1851
+ +'JSXOpeningElement[attributes]'?: (
1852
+ node: JSXOpeningElement_With_attributes,
1853
+ ) => void,
1854
+ +'JSXOpeningElement[selfClosing]'?: (
1855
+ node: JSXOpeningElement_With_selfClosing,
1856
+ ) => void,
1857
+ +JSXOpeningFragment?: (node: JSXOpeningFragment) => void,
1858
+ +JSXSpreadAttribute?: (node: JSXSpreadAttribute) => void,
1859
+ +'JSXSpreadAttribute[argument]'?: (
1860
+ node: JSXSpreadAttribute_With_argument,
1861
+ ) => void,
1862
+ +JSXSpreadChild?: (node: JSXSpreadChild) => void,
1863
+ +'JSXSpreadChild[expression]'?: (
1864
+ node: JSXSpreadChild_With_expression,
1865
+ ) => void,
1866
+ +JSXText?: (node: JSXText) => void,
1867
+ +'JSXText[value]'?: (node: JSXText_With_value) => void,
1868
+ +'JSXText[raw]'?: (node: JSXText_With_raw) => void,
1869
+ +LabeledStatement?: (node: LabeledStatement) => void,
1870
+ +'LabeledStatement[label]'?: (node: LabeledStatement_With_label) => void,
1871
+ +'LabeledStatement[body]'?: (node: LabeledStatement_With_body) => void,
1872
+ +LogicalExpression?: (node: LogicalExpression) => void,
1873
+ +'LogicalExpression[left]'?: (node: LogicalExpression_With_left) => void,
1874
+ +'LogicalExpression[right]'?: (node: LogicalExpression_With_right) => void,
1875
+ +'LogicalExpression[operator]'?: (
1876
+ node: LogicalExpression_With_operator,
1877
+ ) => void,
1878
+ +MemberExpression?: (node: MemberExpression) => void,
1879
+ +'MemberExpression[object]'?: (node: MemberExpression_With_object) => void,
1880
+ +'MemberExpression[property]'?: (
1881
+ node: MemberExpression_With_property,
1882
+ ) => void,
1883
+ +'MemberExpression[computed]'?: (
1884
+ node: MemberExpression_With_computed,
1885
+ ) => void,
1886
+ +MetaProperty?: (node: MetaProperty) => void,
1887
+ +'MetaProperty[meta]'?: (node: MetaProperty_With_meta) => void,
1888
+ +'MetaProperty[property]'?: (node: MetaProperty_With_property) => void,
1889
+ +MethodDefinition?: (node: MethodDefinition) => void,
1890
+ +'MethodDefinition[key]'?: (node: MethodDefinition_With_key) => void,
1891
+ +'MethodDefinition[value]'?: (node: MethodDefinition_With_value) => void,
1892
+ +'MethodDefinition[kind]'?: (node: MethodDefinition_With_kind) => void,
1893
+ +'MethodDefinition[computed]'?: (
1894
+ node: MethodDefinition_With_computed,
1895
+ ) => void,
1896
+ +'MethodDefinition[static]'?: (node: MethodDefinition_With_static) => void,
1897
+ +MixedTypeAnnotation?: (node: MixedTypeAnnotation) => void,
1898
+ +NewExpression?: (node: NewExpression) => void,
1899
+ +'NewExpression[callee]'?: (node: NewExpression_With_callee) => void,
1900
+ +'NewExpression[typeArguments]'?: (
1901
+ node: NewExpression_With_typeArguments,
1902
+ ) => void,
1903
+ +'NewExpression[arguments]'?: (node: NewExpression_With_arguments) => void,
1904
+ +NullableTypeAnnotation?: (node: NullableTypeAnnotation) => void,
1905
+ +'NullableTypeAnnotation[typeAnnotation]'?: (
1906
+ node: NullableTypeAnnotation_With_typeAnnotation,
1907
+ ) => void,
1908
+ +NullLiteralTypeAnnotation?: (node: NullLiteralTypeAnnotation) => void,
1909
+ +NumberLiteralTypeAnnotation?: (node: NumberLiteralTypeAnnotation) => void,
1910
+ +'NumberLiteralTypeAnnotation[value]'?: (
1911
+ node: NumberLiteralTypeAnnotation_With_value,
1912
+ ) => void,
1913
+ +'NumberLiteralTypeAnnotation[raw]'?: (
1914
+ node: NumberLiteralTypeAnnotation_With_raw,
1915
+ ) => void,
1916
+ +NumberTypeAnnotation?: (node: NumberTypeAnnotation) => void,
1917
+ +ObjectExpression?: (node: ObjectExpression) => void,
1918
+ +'ObjectExpression[properties]'?: (
1919
+ node: ObjectExpression_With_properties,
1920
+ ) => void,
1921
+ +ObjectPattern?: (node: ObjectPattern) => void,
1922
+ +'ObjectPattern[properties]'?: (node: ObjectPattern_With_properties) => void,
1923
+ +'ObjectPattern[typeAnnotation]'?: (
1924
+ node: ObjectPattern_With_typeAnnotation,
1925
+ ) => void,
1926
+ +ObjectTypeAnnotation?: (node: ObjectTypeAnnotation) => void,
1927
+ +'ObjectTypeAnnotation[properties]'?: (
1928
+ node: ObjectTypeAnnotation_With_properties,
1929
+ ) => void,
1930
+ +'ObjectTypeAnnotation[indexers]'?: (
1931
+ node: ObjectTypeAnnotation_With_indexers,
1932
+ ) => void,
1933
+ +'ObjectTypeAnnotation[callProperties]'?: (
1934
+ node: ObjectTypeAnnotation_With_callProperties,
1935
+ ) => void,
1936
+ +'ObjectTypeAnnotation[internalSlots]'?: (
1937
+ node: ObjectTypeAnnotation_With_internalSlots,
1938
+ ) => void,
1939
+ +'ObjectTypeAnnotation[inexact]'?: (
1940
+ node: ObjectTypeAnnotation_With_inexact,
1941
+ ) => void,
1942
+ +'ObjectTypeAnnotation[exact]'?: (
1943
+ node: ObjectTypeAnnotation_With_exact,
1944
+ ) => void,
1945
+ +ObjectTypeCallProperty?: (node: ObjectTypeCallProperty) => void,
1946
+ +'ObjectTypeCallProperty[value]'?: (
1947
+ node: ObjectTypeCallProperty_With_value,
1948
+ ) => void,
1949
+ +'ObjectTypeCallProperty[static]'?: (
1950
+ node: ObjectTypeCallProperty_With_static,
1951
+ ) => void,
1952
+ +ObjectTypeIndexer?: (node: ObjectTypeIndexer) => void,
1953
+ +'ObjectTypeIndexer[id]'?: (node: ObjectTypeIndexer_With_id) => void,
1954
+ +'ObjectTypeIndexer[key]'?: (node: ObjectTypeIndexer_With_key) => void,
1955
+ +'ObjectTypeIndexer[value]'?: (node: ObjectTypeIndexer_With_value) => void,
1956
+ +'ObjectTypeIndexer[static]'?: (node: ObjectTypeIndexer_With_static) => void,
1957
+ +'ObjectTypeIndexer[variance]'?: (
1958
+ node: ObjectTypeIndexer_With_variance,
1959
+ ) => void,
1960
+ +ObjectTypeInternalSlot?: (node: ObjectTypeInternalSlot) => void,
1961
+ +'ObjectTypeInternalSlot[id]'?: (
1962
+ node: ObjectTypeInternalSlot_With_id,
1963
+ ) => void,
1964
+ +'ObjectTypeInternalSlot[value]'?: (
1965
+ node: ObjectTypeInternalSlot_With_value,
1966
+ ) => void,
1967
+ +'ObjectTypeInternalSlot[optional]'?: (
1968
+ node: ObjectTypeInternalSlot_With_optional,
1969
+ ) => void,
1970
+ +'ObjectTypeInternalSlot[static]'?: (
1971
+ node: ObjectTypeInternalSlot_With_static,
1972
+ ) => void,
1973
+ +'ObjectTypeInternalSlot[method]'?: (
1974
+ node: ObjectTypeInternalSlot_With_method,
1975
+ ) => void,
1976
+ +ObjectTypeProperty?: (node: ObjectTypeProperty) => void,
1977
+ +'ObjectTypeProperty[key]'?: (node: ObjectTypeProperty_With_key) => void,
1978
+ +'ObjectTypeProperty[value]'?: (node: ObjectTypeProperty_With_value) => void,
1979
+ +'ObjectTypeProperty[method]'?: (
1980
+ node: ObjectTypeProperty_With_method,
1981
+ ) => void,
1982
+ +'ObjectTypeProperty[optional]'?: (
1983
+ node: ObjectTypeProperty_With_optional,
1984
+ ) => void,
1985
+ +'ObjectTypeProperty[static]'?: (
1986
+ node: ObjectTypeProperty_With_static,
1987
+ ) => void,
1988
+ +'ObjectTypeProperty[proto]'?: (node: ObjectTypeProperty_With_proto) => void,
1989
+ +'ObjectTypeProperty[variance]'?: (
1990
+ node: ObjectTypeProperty_With_variance,
1991
+ ) => void,
1992
+ +'ObjectTypeProperty[kind]'?: (node: ObjectTypeProperty_With_kind) => void,
1993
+ +ObjectTypeSpreadProperty?: (node: ObjectTypeSpreadProperty) => void,
1994
+ +'ObjectTypeSpreadProperty[argument]'?: (
1995
+ node: ObjectTypeSpreadProperty_With_argument,
1996
+ ) => void,
1997
+ +OpaqueType?: (node: OpaqueType) => void,
1998
+ +'OpaqueType[id]'?: (node: OpaqueType_With_id) => void,
1999
+ +'OpaqueType[typeParameters]'?: (
2000
+ node: OpaqueType_With_typeParameters,
2001
+ ) => void,
2002
+ +'OpaqueType[impltype]'?: (node: OpaqueType_With_impltype) => void,
2003
+ +'OpaqueType[supertype]'?: (node: OpaqueType_With_supertype) => void,
2004
+ +OptionalCallExpression?: (node: OptionalCallExpression) => void,
2005
+ +'OptionalCallExpression[callee]'?: (
2006
+ node: OptionalCallExpression_With_callee,
2007
+ ) => void,
2008
+ +'OptionalCallExpression[typeArguments]'?: (
2009
+ node: OptionalCallExpression_With_typeArguments,
2010
+ ) => void,
2011
+ +'OptionalCallExpression[arguments]'?: (
2012
+ node: OptionalCallExpression_With_arguments,
2013
+ ) => void,
2014
+ +'OptionalCallExpression[optional]'?: (
2015
+ node: OptionalCallExpression_With_optional,
2016
+ ) => void,
2017
+ +OptionalIndexedAccessType?: (node: OptionalIndexedAccessType) => void,
2018
+ +'OptionalIndexedAccessType[objectType]'?: (
2019
+ node: OptionalIndexedAccessType_With_objectType,
2020
+ ) => void,
2021
+ +'OptionalIndexedAccessType[indexType]'?: (
2022
+ node: OptionalIndexedAccessType_With_indexType,
2023
+ ) => void,
2024
+ +'OptionalIndexedAccessType[optional]'?: (
2025
+ node: OptionalIndexedAccessType_With_optional,
2026
+ ) => void,
2027
+ +OptionalMemberExpression?: (node: OptionalMemberExpression) => void,
2028
+ +'OptionalMemberExpression[object]'?: (
2029
+ node: OptionalMemberExpression_With_object,
2030
+ ) => void,
2031
+ +'OptionalMemberExpression[property]'?: (
2032
+ node: OptionalMemberExpression_With_property,
2033
+ ) => void,
2034
+ +'OptionalMemberExpression[computed]'?: (
2035
+ node: OptionalMemberExpression_With_computed,
2036
+ ) => void,
2037
+ +'OptionalMemberExpression[optional]'?: (
2038
+ node: OptionalMemberExpression_With_optional,
2039
+ ) => void,
2040
+ +PrivateName?: (node: PrivateName) => void,
2041
+ +'PrivateName[id]'?: (node: PrivateName_With_id) => void,
2042
+ +Program?: (node: Program) => void,
2043
+ +'Program[body]'?: (node: Program_With_body) => void,
2044
+ +Property?: (node: Property) => void,
2045
+ +'Property[key]'?: (node: Property_With_key) => void,
2046
+ +'Property[value]'?: (node: Property_With_value) => void,
2047
+ +'Property[kind]'?: (node: Property_With_kind) => void,
2048
+ +'Property[computed]'?: (node: Property_With_computed) => void,
2049
+ +'Property[method]'?: (node: Property_With_method) => void,
2050
+ +'Property[shorthand]'?: (node: Property_With_shorthand) => void,
2051
+ +QualifiedTypeIdentifier?: (node: QualifiedTypeIdentifier) => void,
2052
+ +'QualifiedTypeIdentifier[qualification]'?: (
2053
+ node: QualifiedTypeIdentifier_With_qualification,
2054
+ ) => void,
2055
+ +'QualifiedTypeIdentifier[id]'?: (
2056
+ node: QualifiedTypeIdentifier_With_id,
2057
+ ) => void,
2058
+ +RestElement?: (node: RestElement) => void,
2059
+ +'RestElement[argument]'?: (node: RestElement_With_argument) => void,
2060
+ +ReturnStatement?: (node: ReturnStatement) => void,
2061
+ +'ReturnStatement[argument]'?: (node: ReturnStatement_With_argument) => void,
2062
+ +SequenceExpression?: (node: SequenceExpression) => void,
2063
+ +'SequenceExpression[expressions]'?: (
2064
+ node: SequenceExpression_With_expressions,
2065
+ ) => void,
2066
+ +SpreadElement?: (node: SpreadElement) => void,
2067
+ +'SpreadElement[argument]'?: (node: SpreadElement_With_argument) => void,
2068
+ +StringLiteralTypeAnnotation?: (node: StringLiteralTypeAnnotation) => void,
2069
+ +'StringLiteralTypeAnnotation[value]'?: (
2070
+ node: StringLiteralTypeAnnotation_With_value,
2071
+ ) => void,
2072
+ +StringTypeAnnotation?: (node: StringTypeAnnotation) => void,
2073
+ +Super?: (node: Super) => void,
2074
+ +SwitchCase?: (node: SwitchCase) => void,
2075
+ +'SwitchCase[test]'?: (node: SwitchCase_With_test) => void,
2076
+ +'SwitchCase[consequent]'?: (node: SwitchCase_With_consequent) => void,
2077
+ +SwitchStatement?: (node: SwitchStatement) => void,
2078
+ +'SwitchStatement[discriminant]'?: (
2079
+ node: SwitchStatement_With_discriminant,
2080
+ ) => void,
2081
+ +'SwitchStatement[cases]'?: (node: SwitchStatement_With_cases) => void,
2082
+ +SymbolTypeAnnotation?: (node: SymbolTypeAnnotation) => void,
2083
+ +TaggedTemplateExpression?: (node: TaggedTemplateExpression) => void,
2084
+ +'TaggedTemplateExpression[tag]'?: (
2085
+ node: TaggedTemplateExpression_With_tag,
2086
+ ) => void,
2087
+ +'TaggedTemplateExpression[quasi]'?: (
2088
+ node: TaggedTemplateExpression_With_quasi,
2089
+ ) => void,
2090
+ +TemplateElement?: (node: TemplateElement) => void,
2091
+ +'TemplateElement[tail]'?: (node: TemplateElement_With_tail) => void,
2092
+ +'TemplateElement[cooked]'?: (node: TemplateElement_With_cooked) => void,
2093
+ +'TemplateElement[raw]'?: (node: TemplateElement_With_raw) => void,
2094
+ +TemplateLiteral?: (node: TemplateLiteral) => void,
2095
+ +'TemplateLiteral[quasis]'?: (node: TemplateLiteral_With_quasis) => void,
2096
+ +'TemplateLiteral[expressions]'?: (
2097
+ node: TemplateLiteral_With_expressions,
2098
+ ) => void,
2099
+ +ThisExpression?: (node: ThisExpression) => void,
2100
+ +ThisTypeAnnotation?: (node: ThisTypeAnnotation) => void,
2101
+ +ThrowStatement?: (node: ThrowStatement) => void,
2102
+ +'ThrowStatement[argument]'?: (node: ThrowStatement_With_argument) => void,
2103
+ +TryStatement?: (node: TryStatement) => void,
2104
+ +'TryStatement[block]'?: (node: TryStatement_With_block) => void,
2105
+ +'TryStatement[handler]'?: (node: TryStatement_With_handler) => void,
2106
+ +'TryStatement[finalizer]'?: (node: TryStatement_With_finalizer) => void,
2107
+ +TupleTypeAnnotation?: (node: TupleTypeAnnotation) => void,
2108
+ +'TupleTypeAnnotation[types]'?: (
2109
+ node: TupleTypeAnnotation_With_types,
2110
+ ) => void,
2111
+ +TypeAlias?: (node: TypeAlias) => void,
2112
+ +'TypeAlias[id]'?: (node: TypeAlias_With_id) => void,
2113
+ +'TypeAlias[typeParameters]'?: (node: TypeAlias_With_typeParameters) => void,
2114
+ +'TypeAlias[right]'?: (node: TypeAlias_With_right) => void,
2115
+ +TypeAnnotation?: (node: TypeAnnotation) => void,
2116
+ +'TypeAnnotation[typeAnnotation]'?: (
2117
+ node: TypeAnnotation_With_typeAnnotation,
2118
+ ) => void,
2119
+ +TypeCastExpression?: (node: TypeCastExpression) => void,
2120
+ +'TypeCastExpression[expression]'?: (
2121
+ node: TypeCastExpression_With_expression,
2122
+ ) => void,
2123
+ +'TypeCastExpression[typeAnnotation]'?: (
2124
+ node: TypeCastExpression_With_typeAnnotation,
2125
+ ) => void,
2126
+ +TypeofTypeAnnotation?: (node: TypeofTypeAnnotation) => void,
2127
+ +'TypeofTypeAnnotation[argument]'?: (
2128
+ node: TypeofTypeAnnotation_With_argument,
2129
+ ) => void,
2130
+ +TypeParameter?: (node: TypeParameter) => void,
2131
+ +'TypeParameter[name]'?: (node: TypeParameter_With_name) => void,
2132
+ +'TypeParameter[bound]'?: (node: TypeParameter_With_bound) => void,
2133
+ +'TypeParameter[variance]'?: (node: TypeParameter_With_variance) => void,
2134
+ +'TypeParameter[default]'?: (node: TypeParameter_With_default) => void,
2135
+ +TypeParameterDeclaration?: (node: TypeParameterDeclaration) => void,
2136
+ +'TypeParameterDeclaration[params]'?: (
2137
+ node: TypeParameterDeclaration_With_params,
2138
+ ) => void,
2139
+ +TypeParameterInstantiation?: (node: TypeParameterInstantiation) => void,
2140
+ +'TypeParameterInstantiation[params]'?: (
2141
+ node: TypeParameterInstantiation_With_params,
2142
+ ) => void,
2143
+ +UnaryExpression?: (node: UnaryExpression) => void,
2144
+ +'UnaryExpression[operator]'?: (node: UnaryExpression_With_operator) => void,
2145
+ +'UnaryExpression[argument]'?: (node: UnaryExpression_With_argument) => void,
2146
+ +'UnaryExpression[prefix]'?: (node: UnaryExpression_With_prefix) => void,
2147
+ +UnionTypeAnnotation?: (node: UnionTypeAnnotation) => void,
2148
+ +'UnionTypeAnnotation[types]'?: (
2149
+ node: UnionTypeAnnotation_With_types,
2150
+ ) => void,
2151
+ +UpdateExpression?: (node: UpdateExpression) => void,
2152
+ +'UpdateExpression[operator]'?: (
2153
+ node: UpdateExpression_With_operator,
2154
+ ) => void,
2155
+ +'UpdateExpression[argument]'?: (
2156
+ node: UpdateExpression_With_argument,
2157
+ ) => void,
2158
+ +'UpdateExpression[prefix]'?: (node: UpdateExpression_With_prefix) => void,
2159
+ +VariableDeclaration?: (node: VariableDeclaration) => void,
2160
+ +'VariableDeclaration[kind]'?: (node: VariableDeclaration_With_kind) => void,
2161
+ +'VariableDeclaration[declarations]'?: (
2162
+ node: VariableDeclaration_With_declarations,
2163
+ ) => void,
2164
+ +VariableDeclarator?: (node: VariableDeclarator) => void,
2165
+ +'VariableDeclarator[init]'?: (node: VariableDeclarator_With_init) => void,
2166
+ +'VariableDeclarator[id]'?: (node: VariableDeclarator_With_id) => void,
2167
+ +Variance?: (node: Variance) => void,
2168
+ +'Variance[kind]'?: (node: Variance_With_kind) => void,
2169
+ +VoidTypeAnnotation?: (node: VoidTypeAnnotation) => void,
2170
+ +WhileStatement?: (node: WhileStatement) => void,
2171
+ +'WhileStatement[body]'?: (node: WhileStatement_With_body) => void,
2172
+ +'WhileStatement[test]'?: (node: WhileStatement_With_test) => void,
2173
+ +WithStatement?: (node: WithStatement) => void,
2174
+ +'WithStatement[object]'?: (node: WithStatement_With_object) => void,
2175
+ +'WithStatement[body]'?: (node: WithStatement_With_body) => void,
2176
+ +YieldExpression?: (node: YieldExpression) => void,
2177
+ +'YieldExpression[argument]'?: (node: YieldExpression_With_argument) => void,
2178
+ +'YieldExpression[delegate]'?: (node: YieldExpression_With_delegate) => void,
2179
+ +Literal?: (node: Literal) => void,
2180
+ +'*'?: (node: StarSpecialSelector) => void,
2181
+ +':statement'?: (node: StatementSpecialSelector) => void,
2182
+ +':declaration'?: (node: DeclarationSpecialSelector) => void,
2183
+ +':pattern'?: (node: PatternSpecialSelector) => void,
2184
+ +':expression'?: (node: ExpressionSpecialSelector) => void,
2185
+ +':function'?: (node: FunctionSpecialSelector) => void,
2186
+ +'AnyTypeAnnotation:exit'?: (node: AnyTypeAnnotation) => void,
2187
+ +'ArrayExpression:exit'?: (node: ArrayExpression) => void,
2188
+ +'ArrayExpression[elements]:exit'?: (
2189
+ node: ArrayExpression_With_elements,
2190
+ ) => void,
2191
+ +'ArrayExpression[trailingComma]:exit'?: (
2192
+ node: ArrayExpression_With_trailingComma,
2193
+ ) => void,
2194
+ +'ArrayPattern:exit'?: (node: ArrayPattern) => void,
2195
+ +'ArrayPattern[elements]:exit'?: (node: ArrayPattern_With_elements) => void,
2196
+ +'ArrayPattern[typeAnnotation]:exit'?: (
2197
+ node: ArrayPattern_With_typeAnnotation,
2198
+ ) => void,
2199
+ +'ArrayTypeAnnotation:exit'?: (node: ArrayTypeAnnotation) => void,
2200
+ +'ArrayTypeAnnotation[elementType]:exit'?: (
2201
+ node: ArrayTypeAnnotation_With_elementType,
2202
+ ) => void,
2203
+ +'ArrowFunctionExpression:exit'?: (node: ArrowFunctionExpression) => void,
2204
+ +'ArrowFunctionExpression[id]:exit'?: (
2205
+ node: ArrowFunctionExpression_With_id,
2206
+ ) => void,
2207
+ +'ArrowFunctionExpression[params]:exit'?: (
2208
+ node: ArrowFunctionExpression_With_params,
2209
+ ) => void,
2210
+ +'ArrowFunctionExpression[body]:exit'?: (
2211
+ node: ArrowFunctionExpression_With_body,
2212
+ ) => void,
2213
+ +'ArrowFunctionExpression[typeParameters]:exit'?: (
2214
+ node: ArrowFunctionExpression_With_typeParameters,
2215
+ ) => void,
2216
+ +'ArrowFunctionExpression[returnType]:exit'?: (
2217
+ node: ArrowFunctionExpression_With_returnType,
2218
+ ) => void,
2219
+ +'ArrowFunctionExpression[predicate]:exit'?: (
2220
+ node: ArrowFunctionExpression_With_predicate,
2221
+ ) => void,
2222
+ +'ArrowFunctionExpression[expression]:exit'?: (
2223
+ node: ArrowFunctionExpression_With_expression,
2224
+ ) => void,
2225
+ +'ArrowFunctionExpression[async]:exit'?: (
2226
+ node: ArrowFunctionExpression_With_async,
2227
+ ) => void,
2228
+ +'AssignmentExpression:exit'?: (node: AssignmentExpression) => void,
2229
+ +'AssignmentExpression[operator]:exit'?: (
2230
+ node: AssignmentExpression_With_operator,
2231
+ ) => void,
2232
+ +'AssignmentExpression[left]:exit'?: (
2233
+ node: AssignmentExpression_With_left,
2234
+ ) => void,
2235
+ +'AssignmentExpression[right]:exit'?: (
2236
+ node: AssignmentExpression_With_right,
2237
+ ) => void,
2238
+ +'AssignmentPattern:exit'?: (node: AssignmentPattern) => void,
2239
+ +'AssignmentPattern[left]:exit'?: (node: AssignmentPattern_With_left) => void,
2240
+ +'AssignmentPattern[right]:exit'?: (
2241
+ node: AssignmentPattern_With_right,
2242
+ ) => void,
2243
+ +'AwaitExpression:exit'?: (node: AwaitExpression) => void,
2244
+ +'AwaitExpression[argument]:exit'?: (
2245
+ node: AwaitExpression_With_argument,
2246
+ ) => void,
2247
+ +'BinaryExpression:exit'?: (node: BinaryExpression) => void,
2248
+ +'BinaryExpression[left]:exit'?: (node: BinaryExpression_With_left) => void,
2249
+ +'BinaryExpression[right]:exit'?: (node: BinaryExpression_With_right) => void,
2250
+ +'BinaryExpression[operator]:exit'?: (
2251
+ node: BinaryExpression_With_operator,
2252
+ ) => void,
2253
+ +'BlockStatement:exit'?: (node: BlockStatement) => void,
2254
+ +'BlockStatement[body]:exit'?: (node: BlockStatement_With_body) => void,
2255
+ +'BooleanLiteralTypeAnnotation:exit'?: (
2256
+ node: BooleanLiteralTypeAnnotation,
2257
+ ) => void,
2258
+ +'BooleanLiteralTypeAnnotation[value]:exit'?: (
2259
+ node: BooleanLiteralTypeAnnotation_With_value,
2260
+ ) => void,
2261
+ +'BooleanLiteralTypeAnnotation[raw]:exit'?: (
2262
+ node: BooleanLiteralTypeAnnotation_With_raw,
2263
+ ) => void,
2264
+ +'BooleanTypeAnnotation:exit'?: (node: BooleanTypeAnnotation) => void,
2265
+ +'BreakStatement:exit'?: (node: BreakStatement) => void,
2266
+ +'BreakStatement[label]:exit'?: (node: BreakStatement_With_label) => void,
2267
+ +'CallExpression:exit'?: (node: CallExpression) => void,
2268
+ +'CallExpression[callee]:exit'?: (node: CallExpression_With_callee) => void,
2269
+ +'CallExpression[typeArguments]:exit'?: (
2270
+ node: CallExpression_With_typeArguments,
2271
+ ) => void,
2272
+ +'CallExpression[arguments]:exit'?: (
2273
+ node: CallExpression_With_arguments,
2274
+ ) => void,
2275
+ +'CatchClause:exit'?: (node: CatchClause) => void,
2276
+ +'CatchClause[param]:exit'?: (node: CatchClause_With_param) => void,
2277
+ +'CatchClause[body]:exit'?: (node: CatchClause_With_body) => void,
2278
+ +'ClassBody:exit'?: (node: ClassBody) => void,
2279
+ +'ClassBody[body]:exit'?: (node: ClassBody_With_body) => void,
2280
+ +'ClassDeclaration:exit'?: (node: ClassDeclaration) => void,
2281
+ +'ClassDeclaration[id]:exit'?: (node: ClassDeclaration_With_id) => void,
2282
+ +'ClassDeclaration[typeParameters]:exit'?: (
2283
+ node: ClassDeclaration_With_typeParameters,
2284
+ ) => void,
2285
+ +'ClassDeclaration[superClass]:exit'?: (
2286
+ node: ClassDeclaration_With_superClass,
2287
+ ) => void,
2288
+ +'ClassDeclaration[superTypeParameters]:exit'?: (
2289
+ node: ClassDeclaration_With_superTypeParameters,
2290
+ ) => void,
2291
+ +'ClassDeclaration[implements]:exit'?: (
2292
+ node: ClassDeclaration_With_implements,
2293
+ ) => void,
2294
+ +'ClassDeclaration[decorators]:exit'?: (
2295
+ node: ClassDeclaration_With_decorators,
2296
+ ) => void,
2297
+ +'ClassDeclaration[body]:exit'?: (node: ClassDeclaration_With_body) => void,
2298
+ +'ClassExpression:exit'?: (node: ClassExpression) => void,
2299
+ +'ClassExpression[id]:exit'?: (node: ClassExpression_With_id) => void,
2300
+ +'ClassExpression[typeParameters]:exit'?: (
2301
+ node: ClassExpression_With_typeParameters,
2302
+ ) => void,
2303
+ +'ClassExpression[superClass]:exit'?: (
2304
+ node: ClassExpression_With_superClass,
2305
+ ) => void,
2306
+ +'ClassExpression[superTypeParameters]:exit'?: (
2307
+ node: ClassExpression_With_superTypeParameters,
2308
+ ) => void,
2309
+ +'ClassExpression[implements]:exit'?: (
2310
+ node: ClassExpression_With_implements,
2311
+ ) => void,
2312
+ +'ClassExpression[decorators]:exit'?: (
2313
+ node: ClassExpression_With_decorators,
2314
+ ) => void,
2315
+ +'ClassExpression[body]:exit'?: (node: ClassExpression_With_body) => void,
2316
+ +'ClassImplements:exit'?: (node: ClassImplements) => void,
2317
+ +'ClassImplements[id]:exit'?: (node: ClassImplements_With_id) => void,
2318
+ +'ClassImplements[typeParameters]:exit'?: (
2319
+ node: ClassImplements_With_typeParameters,
2320
+ ) => void,
2321
+ +'ClassPrivateProperty:exit'?: (node: ClassPrivateProperty) => void,
2322
+ +'ClassPrivateProperty[key]:exit'?: (
2323
+ node: ClassPrivateProperty_With_key,
2324
+ ) => void,
2325
+ +'ClassPrivateProperty[value]:exit'?: (
2326
+ node: ClassPrivateProperty_With_value,
2327
+ ) => void,
2328
+ +'ClassPrivateProperty[static]:exit'?: (
2329
+ node: ClassPrivateProperty_With_static,
2330
+ ) => void,
2331
+ +'ClassPrivateProperty[declare]:exit'?: (
2332
+ node: ClassPrivateProperty_With_declare,
2333
+ ) => void,
2334
+ +'ClassPrivateProperty[optional]:exit'?: (
2335
+ node: ClassPrivateProperty_With_optional,
2336
+ ) => void,
2337
+ +'ClassPrivateProperty[variance]:exit'?: (
2338
+ node: ClassPrivateProperty_With_variance,
2339
+ ) => void,
2340
+ +'ClassPrivateProperty[typeAnnotation]:exit'?: (
2341
+ node: ClassPrivateProperty_With_typeAnnotation,
2342
+ ) => void,
2343
+ +'ClassProperty:exit'?: (node: ClassProperty) => void,
2344
+ +'ClassProperty[key]:exit'?: (node: ClassProperty_With_key) => void,
2345
+ +'ClassProperty[value]:exit'?: (node: ClassProperty_With_value) => void,
2346
+ +'ClassProperty[computed]:exit'?: (node: ClassProperty_With_computed) => void,
2347
+ +'ClassProperty[static]:exit'?: (node: ClassProperty_With_static) => void,
2348
+ +'ClassProperty[declare]:exit'?: (node: ClassProperty_With_declare) => void,
2349
+ +'ClassProperty[optional]:exit'?: (node: ClassProperty_With_optional) => void,
2350
+ +'ClassProperty[variance]:exit'?: (node: ClassProperty_With_variance) => void,
2351
+ +'ClassProperty[typeAnnotation]:exit'?: (
2352
+ node: ClassProperty_With_typeAnnotation,
2353
+ ) => void,
2354
+ +'ConditionalExpression:exit'?: (node: ConditionalExpression) => void,
2355
+ +'ConditionalExpression[test]:exit'?: (
2356
+ node: ConditionalExpression_With_test,
2357
+ ) => void,
2358
+ +'ConditionalExpression[alternate]:exit'?: (
2359
+ node: ConditionalExpression_With_alternate,
2360
+ ) => void,
2361
+ +'ConditionalExpression[consequent]:exit'?: (
2362
+ node: ConditionalExpression_With_consequent,
2363
+ ) => void,
2364
+ +'ContinueStatement:exit'?: (node: ContinueStatement) => void,
2365
+ +'ContinueStatement[label]:exit'?: (
2366
+ node: ContinueStatement_With_label,
2367
+ ) => void,
2368
+ +'DebuggerStatement:exit'?: (node: DebuggerStatement) => void,
2369
+ +'DeclareClass:exit'?: (node: DeclareClass) => void,
2370
+ +'DeclareClass[id]:exit'?: (node: DeclareClass_With_id) => void,
2371
+ +'DeclareClass[typeParameters]:exit'?: (
2372
+ node: DeclareClass_With_typeParameters,
2373
+ ) => void,
2374
+ +'DeclareClass[extends]:exit'?: (node: DeclareClass_With_extends) => void,
2375
+ +'DeclareClass[implements]:exit'?: (
2376
+ node: DeclareClass_With_implements,
2377
+ ) => void,
2378
+ +'DeclareClass[mixins]:exit'?: (node: DeclareClass_With_mixins) => void,
2379
+ +'DeclareClass[body]:exit'?: (node: DeclareClass_With_body) => void,
2380
+ +'DeclaredPredicate:exit'?: (node: DeclaredPredicate) => void,
2381
+ +'DeclaredPredicate[value]:exit'?: (
2382
+ node: DeclaredPredicate_With_value,
2383
+ ) => void,
2384
+ +'DeclareExportAllDeclaration:exit'?: (
2385
+ node: DeclareExportAllDeclaration,
2386
+ ) => void,
2387
+ +'DeclareExportAllDeclaration[source]:exit'?: (
2388
+ node: DeclareExportAllDeclaration_With_source,
2389
+ ) => void,
2390
+ +'DeclareExportDeclaration:exit'?: (node: DeclareExportDeclaration) => void,
2391
+ +'DeclareExportDeclaration[declaration]:exit'?: (
2392
+ node: DeclareExportDeclaration_With_declaration,
2393
+ ) => void,
2394
+ +'DeclareExportDeclaration[specifiers]:exit'?: (
2395
+ node: DeclareExportDeclaration_With_specifiers,
2396
+ ) => void,
2397
+ +'DeclareExportDeclaration[source]:exit'?: (
2398
+ node: DeclareExportDeclaration_With_source,
2399
+ ) => void,
2400
+ +'DeclareExportDeclaration[default]:exit'?: (
2401
+ node: DeclareExportDeclaration_With_default,
2402
+ ) => void,
2403
+ +'DeclareFunction:exit'?: (node: DeclareFunction) => void,
2404
+ +'DeclareFunction[id]:exit'?: (node: DeclareFunction_With_id) => void,
2405
+ +'DeclareFunction[predicate]:exit'?: (
2406
+ node: DeclareFunction_With_predicate,
2407
+ ) => void,
2408
+ +'DeclareInterface:exit'?: (node: DeclareInterface) => void,
2409
+ +'DeclareInterface[id]:exit'?: (node: DeclareInterface_With_id) => void,
2410
+ +'DeclareInterface[typeParameters]:exit'?: (
2411
+ node: DeclareInterface_With_typeParameters,
2412
+ ) => void,
2413
+ +'DeclareInterface[extends]:exit'?: (
2414
+ node: DeclareInterface_With_extends,
2415
+ ) => void,
2416
+ +'DeclareInterface[body]:exit'?: (node: DeclareInterface_With_body) => void,
2417
+ +'DeclareModule:exit'?: (node: DeclareModule) => void,
2418
+ +'DeclareModule[id]:exit'?: (node: DeclareModule_With_id) => void,
2419
+ +'DeclareModule[body]:exit'?: (node: DeclareModule_With_body) => void,
2420
+ +'DeclareModule[kind]:exit'?: (node: DeclareModule_With_kind) => void,
2421
+ +'DeclareModuleExports:exit'?: (node: DeclareModuleExports) => void,
2422
+ +'DeclareModuleExports[typeAnnotation]:exit'?: (
2423
+ node: DeclareModuleExports_With_typeAnnotation,
2424
+ ) => void,
2425
+ +'DeclareOpaqueType:exit'?: (node: DeclareOpaqueType) => void,
2426
+ +'DeclareOpaqueType[id]:exit'?: (node: DeclareOpaqueType_With_id) => void,
2427
+ +'DeclareOpaqueType[typeParameters]:exit'?: (
2428
+ node: DeclareOpaqueType_With_typeParameters,
2429
+ ) => void,
2430
+ +'DeclareOpaqueType[impltype]:exit'?: (
2431
+ node: DeclareOpaqueType_With_impltype,
2432
+ ) => void,
2433
+ +'DeclareOpaqueType[supertype]:exit'?: (
2434
+ node: DeclareOpaqueType_With_supertype,
2435
+ ) => void,
2436
+ +'DeclareTypeAlias:exit'?: (node: DeclareTypeAlias) => void,
2437
+ +'DeclareTypeAlias[id]:exit'?: (node: DeclareTypeAlias_With_id) => void,
2438
+ +'DeclareTypeAlias[typeParameters]:exit'?: (
2439
+ node: DeclareTypeAlias_With_typeParameters,
2440
+ ) => void,
2441
+ +'DeclareTypeAlias[right]:exit'?: (node: DeclareTypeAlias_With_right) => void,
2442
+ +'DeclareVariable:exit'?: (node: DeclareVariable) => void,
2443
+ +'DeclareVariable[id]:exit'?: (node: DeclareVariable_With_id) => void,
2444
+ +'DoWhileStatement:exit'?: (node: DoWhileStatement) => void,
2445
+ +'DoWhileStatement[body]:exit'?: (node: DoWhileStatement_With_body) => void,
2446
+ +'DoWhileStatement[test]:exit'?: (node: DoWhileStatement_With_test) => void,
2447
+ +'EmptyStatement:exit'?: (node: EmptyStatement) => void,
2448
+ +'EmptyTypeAnnotation:exit'?: (node: EmptyTypeAnnotation) => void,
2449
+ +'EnumBooleanBody:exit'?: (node: EnumBooleanBody) => void,
2450
+ +'EnumBooleanBody[members]:exit'?: (
2451
+ node: EnumBooleanBody_With_members,
2452
+ ) => void,
2453
+ +'EnumBooleanBody[explicitType]:exit'?: (
2454
+ node: EnumBooleanBody_With_explicitType,
2455
+ ) => void,
2456
+ +'EnumBooleanBody[hasUnknownMembers]:exit'?: (
2457
+ node: EnumBooleanBody_With_hasUnknownMembers,
2458
+ ) => void,
2459
+ +'EnumBooleanMember:exit'?: (node: EnumBooleanMember) => void,
2460
+ +'EnumBooleanMember[id]:exit'?: (node: EnumBooleanMember_With_id) => void,
2461
+ +'EnumBooleanMember[init]:exit'?: (node: EnumBooleanMember_With_init) => void,
2462
+ +'EnumDeclaration:exit'?: (node: EnumDeclaration) => void,
2463
+ +'EnumDeclaration[id]:exit'?: (node: EnumDeclaration_With_id) => void,
2464
+ +'EnumDeclaration[body]:exit'?: (node: EnumDeclaration_With_body) => void,
2465
+ +'EnumDefaultedMember:exit'?: (node: EnumDefaultedMember) => void,
2466
+ +'EnumDefaultedMember[id]:exit'?: (node: EnumDefaultedMember_With_id) => void,
2467
+ +'EnumNumberBody:exit'?: (node: EnumNumberBody) => void,
2468
+ +'EnumNumberBody[members]:exit'?: (node: EnumNumberBody_With_members) => void,
2469
+ +'EnumNumberBody[explicitType]:exit'?: (
2470
+ node: EnumNumberBody_With_explicitType,
2471
+ ) => void,
2472
+ +'EnumNumberBody[hasUnknownMembers]:exit'?: (
2473
+ node: EnumNumberBody_With_hasUnknownMembers,
2474
+ ) => void,
2475
+ +'EnumNumberMember:exit'?: (node: EnumNumberMember) => void,
2476
+ +'EnumNumberMember[id]:exit'?: (node: EnumNumberMember_With_id) => void,
2477
+ +'EnumNumberMember[init]:exit'?: (node: EnumNumberMember_With_init) => void,
2478
+ +'EnumStringBody:exit'?: (node: EnumStringBody) => void,
2479
+ +'EnumStringBody[members]:exit'?: (node: EnumStringBody_With_members) => void,
2480
+ +'EnumStringBody[explicitType]:exit'?: (
2481
+ node: EnumStringBody_With_explicitType,
2482
+ ) => void,
2483
+ +'EnumStringBody[hasUnknownMembers]:exit'?: (
2484
+ node: EnumStringBody_With_hasUnknownMembers,
2485
+ ) => void,
2486
+ +'EnumStringMember:exit'?: (node: EnumStringMember) => void,
2487
+ +'EnumStringMember[id]:exit'?: (node: EnumStringMember_With_id) => void,
2488
+ +'EnumStringMember[init]:exit'?: (node: EnumStringMember_With_init) => void,
2489
+ +'EnumSymbolBody:exit'?: (node: EnumSymbolBody) => void,
2490
+ +'EnumSymbolBody[members]:exit'?: (node: EnumSymbolBody_With_members) => void,
2491
+ +'EnumSymbolBody[hasUnknownMembers]:exit'?: (
2492
+ node: EnumSymbolBody_With_hasUnknownMembers,
2493
+ ) => void,
2494
+ +'ExistsTypeAnnotation:exit'?: (node: ExistsTypeAnnotation) => void,
2495
+ +'ExportAllDeclaration:exit'?: (node: ExportAllDeclaration) => void,
2496
+ +'ExportAllDeclaration[source]:exit'?: (
2497
+ node: ExportAllDeclaration_With_source,
2498
+ ) => void,
2499
+ +'ExportAllDeclaration[exportKind]:exit'?: (
2500
+ node: ExportAllDeclaration_With_exportKind,
2501
+ ) => void,
2502
+ +'ExportDefaultDeclaration:exit'?: (node: ExportDefaultDeclaration) => void,
2503
+ +'ExportDefaultDeclaration[declaration]:exit'?: (
2504
+ node: ExportDefaultDeclaration_With_declaration,
2505
+ ) => void,
2506
+ +'ExportNamedDeclaration:exit'?: (node: ExportNamedDeclaration) => void,
2507
+ +'ExportNamedDeclaration[declaration]:exit'?: (
2508
+ node: ExportNamedDeclaration_With_declaration,
2509
+ ) => void,
2510
+ +'ExportNamedDeclaration[specifiers]:exit'?: (
2511
+ node: ExportNamedDeclaration_With_specifiers,
2512
+ ) => void,
2513
+ +'ExportNamedDeclaration[source]:exit'?: (
2514
+ node: ExportNamedDeclaration_With_source,
2515
+ ) => void,
2516
+ +'ExportNamedDeclaration[exportKind]:exit'?: (
2517
+ node: ExportNamedDeclaration_With_exportKind,
2518
+ ) => void,
2519
+ +'ExportNamespaceSpecifier:exit'?: (node: ExportNamespaceSpecifier) => void,
2520
+ +'ExportNamespaceSpecifier[exported]:exit'?: (
2521
+ node: ExportNamespaceSpecifier_With_exported,
2522
+ ) => void,
2523
+ +'ExportSpecifier:exit'?: (node: ExportSpecifier) => void,
2524
+ +'ExportSpecifier[exported]:exit'?: (
2525
+ node: ExportSpecifier_With_exported,
2526
+ ) => void,
2527
+ +'ExportSpecifier[local]:exit'?: (node: ExportSpecifier_With_local) => void,
2528
+ +'ExpressionStatement:exit'?: (node: ExpressionStatement) => void,
2529
+ +'ExpressionStatement[expression]:exit'?: (
2530
+ node: ExpressionStatement_With_expression,
2531
+ ) => void,
2532
+ +'ExpressionStatement[directive]:exit'?: (
2533
+ node: ExpressionStatement_With_directive,
2534
+ ) => void,
2535
+ +'ForInStatement:exit'?: (node: ForInStatement) => void,
2536
+ +'ForInStatement[left]:exit'?: (node: ForInStatement_With_left) => void,
2537
+ +'ForInStatement[right]:exit'?: (node: ForInStatement_With_right) => void,
2538
+ +'ForInStatement[body]:exit'?: (node: ForInStatement_With_body) => void,
2539
+ +'ForOfStatement:exit'?: (node: ForOfStatement) => void,
2540
+ +'ForOfStatement[left]:exit'?: (node: ForOfStatement_With_left) => void,
2541
+ +'ForOfStatement[right]:exit'?: (node: ForOfStatement_With_right) => void,
2542
+ +'ForOfStatement[body]:exit'?: (node: ForOfStatement_With_body) => void,
2543
+ +'ForOfStatement[await]:exit'?: (node: ForOfStatement_With_await) => void,
2544
+ +'ForStatement:exit'?: (node: ForStatement) => void,
2545
+ +'ForStatement[init]:exit'?: (node: ForStatement_With_init) => void,
2546
+ +'ForStatement[test]:exit'?: (node: ForStatement_With_test) => void,
2547
+ +'ForStatement[update]:exit'?: (node: ForStatement_With_update) => void,
2548
+ +'ForStatement[body]:exit'?: (node: ForStatement_With_body) => void,
2549
+ +'FunctionDeclaration:exit'?: (node: FunctionDeclaration) => void,
2550
+ +'FunctionDeclaration[id]:exit'?: (node: FunctionDeclaration_With_id) => void,
2551
+ +'FunctionDeclaration[params]:exit'?: (
2552
+ node: FunctionDeclaration_With_params,
2553
+ ) => void,
2554
+ +'FunctionDeclaration[body]:exit'?: (
2555
+ node: FunctionDeclaration_With_body,
2556
+ ) => void,
2557
+ +'FunctionDeclaration[typeParameters]:exit'?: (
2558
+ node: FunctionDeclaration_With_typeParameters,
2559
+ ) => void,
2560
+ +'FunctionDeclaration[returnType]:exit'?: (
2561
+ node: FunctionDeclaration_With_returnType,
2562
+ ) => void,
2563
+ +'FunctionDeclaration[predicate]:exit'?: (
2564
+ node: FunctionDeclaration_With_predicate,
2565
+ ) => void,
2566
+ +'FunctionDeclaration[generator]:exit'?: (
2567
+ node: FunctionDeclaration_With_generator,
2568
+ ) => void,
2569
+ +'FunctionDeclaration[async]:exit'?: (
2570
+ node: FunctionDeclaration_With_async,
2571
+ ) => void,
2572
+ +'FunctionExpression:exit'?: (node: FunctionExpression) => void,
2573
+ +'FunctionExpression[id]:exit'?: (node: FunctionExpression_With_id) => void,
2574
+ +'FunctionExpression[params]:exit'?: (
2575
+ node: FunctionExpression_With_params,
2576
+ ) => void,
2577
+ +'FunctionExpression[body]:exit'?: (
2578
+ node: FunctionExpression_With_body,
2579
+ ) => void,
2580
+ +'FunctionExpression[typeParameters]:exit'?: (
2581
+ node: FunctionExpression_With_typeParameters,
2582
+ ) => void,
2583
+ +'FunctionExpression[returnType]:exit'?: (
2584
+ node: FunctionExpression_With_returnType,
2585
+ ) => void,
2586
+ +'FunctionExpression[predicate]:exit'?: (
2587
+ node: FunctionExpression_With_predicate,
2588
+ ) => void,
2589
+ +'FunctionExpression[generator]:exit'?: (
2590
+ node: FunctionExpression_With_generator,
2591
+ ) => void,
2592
+ +'FunctionExpression[async]:exit'?: (
2593
+ node: FunctionExpression_With_async,
2594
+ ) => void,
2595
+ +'FunctionTypeAnnotation:exit'?: (node: FunctionTypeAnnotation) => void,
2596
+ +'FunctionTypeAnnotation[params]:exit'?: (
2597
+ node: FunctionTypeAnnotation_With_params,
2598
+ ) => void,
2599
+ +'FunctionTypeAnnotation[this]:exit'?: (
2600
+ node: FunctionTypeAnnotation_With_this,
2601
+ ) => void,
2602
+ +'FunctionTypeAnnotation[returnType]:exit'?: (
2603
+ node: FunctionTypeAnnotation_With_returnType,
2604
+ ) => void,
2605
+ +'FunctionTypeAnnotation[rest]:exit'?: (
2606
+ node: FunctionTypeAnnotation_With_rest,
2607
+ ) => void,
2608
+ +'FunctionTypeAnnotation[typeParameters]:exit'?: (
2609
+ node: FunctionTypeAnnotation_With_typeParameters,
2610
+ ) => void,
2611
+ +'FunctionTypeParam:exit'?: (node: FunctionTypeParam) => void,
2612
+ +'FunctionTypeParam[name]:exit'?: (node: FunctionTypeParam_With_name) => void,
2613
+ +'FunctionTypeParam[typeAnnotation]:exit'?: (
2614
+ node: FunctionTypeParam_With_typeAnnotation,
2615
+ ) => void,
2616
+ +'FunctionTypeParam[optional]:exit'?: (
2617
+ node: FunctionTypeParam_With_optional,
2618
+ ) => void,
2619
+ +'GenericTypeAnnotation:exit'?: (node: GenericTypeAnnotation) => void,
2620
+ +'GenericTypeAnnotation[id]:exit'?: (
2621
+ node: GenericTypeAnnotation_With_id,
2622
+ ) => void,
2623
+ +'GenericTypeAnnotation[typeParameters]:exit'?: (
2624
+ node: GenericTypeAnnotation_With_typeParameters,
2625
+ ) => void,
2626
+ +'Identifier:exit'?: (node: Identifier) => void,
2627
+ +'Identifier[name]:exit'?: (node: Identifier_With_name) => void,
2628
+ +'Identifier[typeAnnotation]:exit'?: (
2629
+ node: Identifier_With_typeAnnotation,
2630
+ ) => void,
2631
+ +'Identifier[optional]:exit'?: (node: Identifier_With_optional) => void,
2632
+ +'IfStatement:exit'?: (node: IfStatement) => void,
2633
+ +'IfStatement[test]:exit'?: (node: IfStatement_With_test) => void,
2634
+ +'IfStatement[consequent]:exit'?: (node: IfStatement_With_consequent) => void,
2635
+ +'IfStatement[alternate]:exit'?: (node: IfStatement_With_alternate) => void,
2636
+ +'ImportAttribute:exit'?: (node: ImportAttribute) => void,
2637
+ +'ImportAttribute[key]:exit'?: (node: ImportAttribute_With_key) => void,
2638
+ +'ImportAttribute[value]:exit'?: (node: ImportAttribute_With_value) => void,
2639
+ +'ImportDeclaration:exit'?: (node: ImportDeclaration) => void,
2640
+ +'ImportDeclaration[specifiers]:exit'?: (
2641
+ node: ImportDeclaration_With_specifiers,
2642
+ ) => void,
2643
+ +'ImportDeclaration[source]:exit'?: (
2644
+ node: ImportDeclaration_With_source,
2645
+ ) => void,
2646
+ +'ImportDeclaration[assertions]:exit'?: (
2647
+ node: ImportDeclaration_With_assertions,
2648
+ ) => void,
2649
+ +'ImportDeclaration[importKind]:exit'?: (
2650
+ node: ImportDeclaration_With_importKind,
2651
+ ) => void,
2652
+ +'ImportDefaultSpecifier:exit'?: (node: ImportDefaultSpecifier) => void,
2653
+ +'ImportDefaultSpecifier[local]:exit'?: (
2654
+ node: ImportDefaultSpecifier_With_local,
2655
+ ) => void,
2656
+ +'ImportExpression:exit'?: (node: ImportExpression) => void,
2657
+ +'ImportExpression[source]:exit'?: (
2658
+ node: ImportExpression_With_source,
2659
+ ) => void,
2660
+ +'ImportExpression[attributes]:exit'?: (
2661
+ node: ImportExpression_With_attributes,
2662
+ ) => void,
2663
+ +'ImportNamespaceSpecifier:exit'?: (node: ImportNamespaceSpecifier) => void,
2664
+ +'ImportNamespaceSpecifier[local]:exit'?: (
2665
+ node: ImportNamespaceSpecifier_With_local,
2666
+ ) => void,
2667
+ +'ImportSpecifier:exit'?: (node: ImportSpecifier) => void,
2668
+ +'ImportSpecifier[imported]:exit'?: (
2669
+ node: ImportSpecifier_With_imported,
2670
+ ) => void,
2671
+ +'ImportSpecifier[local]:exit'?: (node: ImportSpecifier_With_local) => void,
2672
+ +'ImportSpecifier[importKind]:exit'?: (
2673
+ node: ImportSpecifier_With_importKind,
2674
+ ) => void,
2675
+ +'IndexedAccessType:exit'?: (node: IndexedAccessType) => void,
2676
+ +'IndexedAccessType[objectType]:exit'?: (
2677
+ node: IndexedAccessType_With_objectType,
2678
+ ) => void,
2679
+ +'IndexedAccessType[indexType]:exit'?: (
2680
+ node: IndexedAccessType_With_indexType,
2681
+ ) => void,
2682
+ +'InferredPredicate:exit'?: (node: InferredPredicate) => void,
2683
+ +'InterfaceDeclaration:exit'?: (node: InterfaceDeclaration) => void,
2684
+ +'InterfaceDeclaration[id]:exit'?: (
2685
+ node: InterfaceDeclaration_With_id,
2686
+ ) => void,
2687
+ +'InterfaceDeclaration[typeParameters]:exit'?: (
2688
+ node: InterfaceDeclaration_With_typeParameters,
2689
+ ) => void,
2690
+ +'InterfaceDeclaration[extends]:exit'?: (
2691
+ node: InterfaceDeclaration_With_extends,
2692
+ ) => void,
2693
+ +'InterfaceDeclaration[body]:exit'?: (
2694
+ node: InterfaceDeclaration_With_body,
2695
+ ) => void,
2696
+ +'InterfaceExtends:exit'?: (node: InterfaceExtends) => void,
2697
+ +'InterfaceExtends[id]:exit'?: (node: InterfaceExtends_With_id) => void,
2698
+ +'InterfaceExtends[typeParameters]:exit'?: (
2699
+ node: InterfaceExtends_With_typeParameters,
2700
+ ) => void,
2701
+ +'InterfaceTypeAnnotation:exit'?: (node: InterfaceTypeAnnotation) => void,
2702
+ +'InterfaceTypeAnnotation[extends]:exit'?: (
2703
+ node: InterfaceTypeAnnotation_With_extends,
2704
+ ) => void,
2705
+ +'InterfaceTypeAnnotation[body]:exit'?: (
2706
+ node: InterfaceTypeAnnotation_With_body,
2707
+ ) => void,
2708
+ +'IntersectionTypeAnnotation:exit'?: (
2709
+ node: IntersectionTypeAnnotation,
2710
+ ) => void,
2711
+ +'IntersectionTypeAnnotation[types]:exit'?: (
2712
+ node: IntersectionTypeAnnotation_With_types,
2713
+ ) => void,
2714
+ +'JSXAttribute:exit'?: (node: JSXAttribute) => void,
2715
+ +'JSXAttribute[name]:exit'?: (node: JSXAttribute_With_name) => void,
2716
+ +'JSXAttribute[value]:exit'?: (node: JSXAttribute_With_value) => void,
2717
+ +'JSXClosingElement:exit'?: (node: JSXClosingElement) => void,
2718
+ +'JSXClosingElement[name]:exit'?: (node: JSXClosingElement_With_name) => void,
2719
+ +'JSXClosingFragment:exit'?: (node: JSXClosingFragment) => void,
2720
+ +'JSXElement:exit'?: (node: JSXElement) => void,
2721
+ +'JSXElement[openingElement]:exit'?: (
2722
+ node: JSXElement_With_openingElement,
2723
+ ) => void,
2724
+ +'JSXElement[children]:exit'?: (node: JSXElement_With_children) => void,
2725
+ +'JSXElement[closingElement]:exit'?: (
2726
+ node: JSXElement_With_closingElement,
2727
+ ) => void,
2728
+ +'JSXEmptyExpression:exit'?: (node: JSXEmptyExpression) => void,
2729
+ +'JSXExpressionContainer:exit'?: (node: JSXExpressionContainer) => void,
2730
+ +'JSXExpressionContainer[expression]:exit'?: (
2731
+ node: JSXExpressionContainer_With_expression,
2732
+ ) => void,
2733
+ +'JSXFragment:exit'?: (node: JSXFragment) => void,
2734
+ +'JSXFragment[openingFragment]:exit'?: (
2735
+ node: JSXFragment_With_openingFragment,
2736
+ ) => void,
2737
+ +'JSXFragment[children]:exit'?: (node: JSXFragment_With_children) => void,
2738
+ +'JSXFragment[closingFragment]:exit'?: (
2739
+ node: JSXFragment_With_closingFragment,
2740
+ ) => void,
2741
+ +'JSXIdentifier:exit'?: (node: JSXIdentifier) => void,
2742
+ +'JSXIdentifier[name]:exit'?: (node: JSXIdentifier_With_name) => void,
2743
+ +'JSXMemberExpression:exit'?: (node: JSXMemberExpression) => void,
2744
+ +'JSXMemberExpression[object]:exit'?: (
2745
+ node: JSXMemberExpression_With_object,
2746
+ ) => void,
2747
+ +'JSXMemberExpression[property]:exit'?: (
2748
+ node: JSXMemberExpression_With_property,
2749
+ ) => void,
2750
+ +'JSXNamespacedName:exit'?: (node: JSXNamespacedName) => void,
2751
+ +'JSXNamespacedName[namespace]:exit'?: (
2752
+ node: JSXNamespacedName_With_namespace,
2753
+ ) => void,
2754
+ +'JSXNamespacedName[name]:exit'?: (node: JSXNamespacedName_With_name) => void,
2755
+ +'JSXOpeningElement:exit'?: (node: JSXOpeningElement) => void,
2756
+ +'JSXOpeningElement[name]:exit'?: (node: JSXOpeningElement_With_name) => void,
2757
+ +'JSXOpeningElement[attributes]:exit'?: (
2758
+ node: JSXOpeningElement_With_attributes,
2759
+ ) => void,
2760
+ +'JSXOpeningElement[selfClosing]:exit'?: (
2761
+ node: JSXOpeningElement_With_selfClosing,
2762
+ ) => void,
2763
+ +'JSXOpeningFragment:exit'?: (node: JSXOpeningFragment) => void,
2764
+ +'JSXSpreadAttribute:exit'?: (node: JSXSpreadAttribute) => void,
2765
+ +'JSXSpreadAttribute[argument]:exit'?: (
2766
+ node: JSXSpreadAttribute_With_argument,
2767
+ ) => void,
2768
+ +'JSXSpreadChild:exit'?: (node: JSXSpreadChild) => void,
2769
+ +'JSXSpreadChild[expression]:exit'?: (
2770
+ node: JSXSpreadChild_With_expression,
2771
+ ) => void,
2772
+ +'JSXText:exit'?: (node: JSXText) => void,
2773
+ +'JSXText[value]:exit'?: (node: JSXText_With_value) => void,
2774
+ +'JSXText[raw]:exit'?: (node: JSXText_With_raw) => void,
2775
+ +'LabeledStatement:exit'?: (node: LabeledStatement) => void,
2776
+ +'LabeledStatement[label]:exit'?: (node: LabeledStatement_With_label) => void,
2777
+ +'LabeledStatement[body]:exit'?: (node: LabeledStatement_With_body) => void,
2778
+ +'LogicalExpression:exit'?: (node: LogicalExpression) => void,
2779
+ +'LogicalExpression[left]:exit'?: (node: LogicalExpression_With_left) => void,
2780
+ +'LogicalExpression[right]:exit'?: (
2781
+ node: LogicalExpression_With_right,
2782
+ ) => void,
2783
+ +'LogicalExpression[operator]:exit'?: (
2784
+ node: LogicalExpression_With_operator,
2785
+ ) => void,
2786
+ +'MemberExpression:exit'?: (node: MemberExpression) => void,
2787
+ +'MemberExpression[object]:exit'?: (
2788
+ node: MemberExpression_With_object,
2789
+ ) => void,
2790
+ +'MemberExpression[property]:exit'?: (
2791
+ node: MemberExpression_With_property,
2792
+ ) => void,
2793
+ +'MemberExpression[computed]:exit'?: (
2794
+ node: MemberExpression_With_computed,
2795
+ ) => void,
2796
+ +'MetaProperty:exit'?: (node: MetaProperty) => void,
2797
+ +'MetaProperty[meta]:exit'?: (node: MetaProperty_With_meta) => void,
2798
+ +'MetaProperty[property]:exit'?: (node: MetaProperty_With_property) => void,
2799
+ +'MethodDefinition:exit'?: (node: MethodDefinition) => void,
2800
+ +'MethodDefinition[key]:exit'?: (node: MethodDefinition_With_key) => void,
2801
+ +'MethodDefinition[value]:exit'?: (node: MethodDefinition_With_value) => void,
2802
+ +'MethodDefinition[kind]:exit'?: (node: MethodDefinition_With_kind) => void,
2803
+ +'MethodDefinition[computed]:exit'?: (
2804
+ node: MethodDefinition_With_computed,
2805
+ ) => void,
2806
+ +'MethodDefinition[static]:exit'?: (
2807
+ node: MethodDefinition_With_static,
2808
+ ) => void,
2809
+ +'MixedTypeAnnotation:exit'?: (node: MixedTypeAnnotation) => void,
2810
+ +'NewExpression:exit'?: (node: NewExpression) => void,
2811
+ +'NewExpression[callee]:exit'?: (node: NewExpression_With_callee) => void,
2812
+ +'NewExpression[typeArguments]:exit'?: (
2813
+ node: NewExpression_With_typeArguments,
2814
+ ) => void,
2815
+ +'NewExpression[arguments]:exit'?: (
2816
+ node: NewExpression_With_arguments,
2817
+ ) => void,
2818
+ +'NullableTypeAnnotation:exit'?: (node: NullableTypeAnnotation) => void,
2819
+ +'NullableTypeAnnotation[typeAnnotation]:exit'?: (
2820
+ node: NullableTypeAnnotation_With_typeAnnotation,
2821
+ ) => void,
2822
+ +'NullLiteralTypeAnnotation:exit'?: (node: NullLiteralTypeAnnotation) => void,
2823
+ +'NumberLiteralTypeAnnotation:exit'?: (
2824
+ node: NumberLiteralTypeAnnotation,
2825
+ ) => void,
2826
+ +'NumberLiteralTypeAnnotation[value]:exit'?: (
2827
+ node: NumberLiteralTypeAnnotation_With_value,
2828
+ ) => void,
2829
+ +'NumberLiteralTypeAnnotation[raw]:exit'?: (
2830
+ node: NumberLiteralTypeAnnotation_With_raw,
2831
+ ) => void,
2832
+ +'NumberTypeAnnotation:exit'?: (node: NumberTypeAnnotation) => void,
2833
+ +'ObjectExpression:exit'?: (node: ObjectExpression) => void,
2834
+ +'ObjectExpression[properties]:exit'?: (
2835
+ node: ObjectExpression_With_properties,
2836
+ ) => void,
2837
+ +'ObjectPattern:exit'?: (node: ObjectPattern) => void,
2838
+ +'ObjectPattern[properties]:exit'?: (
2839
+ node: ObjectPattern_With_properties,
2840
+ ) => void,
2841
+ +'ObjectPattern[typeAnnotation]:exit'?: (
2842
+ node: ObjectPattern_With_typeAnnotation,
2843
+ ) => void,
2844
+ +'ObjectTypeAnnotation:exit'?: (node: ObjectTypeAnnotation) => void,
2845
+ +'ObjectTypeAnnotation[properties]:exit'?: (
2846
+ node: ObjectTypeAnnotation_With_properties,
2847
+ ) => void,
2848
+ +'ObjectTypeAnnotation[indexers]:exit'?: (
2849
+ node: ObjectTypeAnnotation_With_indexers,
2850
+ ) => void,
2851
+ +'ObjectTypeAnnotation[callProperties]:exit'?: (
2852
+ node: ObjectTypeAnnotation_With_callProperties,
2853
+ ) => void,
2854
+ +'ObjectTypeAnnotation[internalSlots]:exit'?: (
2855
+ node: ObjectTypeAnnotation_With_internalSlots,
2856
+ ) => void,
2857
+ +'ObjectTypeAnnotation[inexact]:exit'?: (
2858
+ node: ObjectTypeAnnotation_With_inexact,
2859
+ ) => void,
2860
+ +'ObjectTypeAnnotation[exact]:exit'?: (
2861
+ node: ObjectTypeAnnotation_With_exact,
2862
+ ) => void,
2863
+ +'ObjectTypeCallProperty:exit'?: (node: ObjectTypeCallProperty) => void,
2864
+ +'ObjectTypeCallProperty[value]:exit'?: (
2865
+ node: ObjectTypeCallProperty_With_value,
2866
+ ) => void,
2867
+ +'ObjectTypeCallProperty[static]:exit'?: (
2868
+ node: ObjectTypeCallProperty_With_static,
2869
+ ) => void,
2870
+ +'ObjectTypeIndexer:exit'?: (node: ObjectTypeIndexer) => void,
2871
+ +'ObjectTypeIndexer[id]:exit'?: (node: ObjectTypeIndexer_With_id) => void,
2872
+ +'ObjectTypeIndexer[key]:exit'?: (node: ObjectTypeIndexer_With_key) => void,
2873
+ +'ObjectTypeIndexer[value]:exit'?: (
2874
+ node: ObjectTypeIndexer_With_value,
2875
+ ) => void,
2876
+ +'ObjectTypeIndexer[static]:exit'?: (
2877
+ node: ObjectTypeIndexer_With_static,
2878
+ ) => void,
2879
+ +'ObjectTypeIndexer[variance]:exit'?: (
2880
+ node: ObjectTypeIndexer_With_variance,
2881
+ ) => void,
2882
+ +'ObjectTypeInternalSlot:exit'?: (node: ObjectTypeInternalSlot) => void,
2883
+ +'ObjectTypeInternalSlot[id]:exit'?: (
2884
+ node: ObjectTypeInternalSlot_With_id,
2885
+ ) => void,
2886
+ +'ObjectTypeInternalSlot[value]:exit'?: (
2887
+ node: ObjectTypeInternalSlot_With_value,
2888
+ ) => void,
2889
+ +'ObjectTypeInternalSlot[optional]:exit'?: (
2890
+ node: ObjectTypeInternalSlot_With_optional,
2891
+ ) => void,
2892
+ +'ObjectTypeInternalSlot[static]:exit'?: (
2893
+ node: ObjectTypeInternalSlot_With_static,
2894
+ ) => void,
2895
+ +'ObjectTypeInternalSlot[method]:exit'?: (
2896
+ node: ObjectTypeInternalSlot_With_method,
2897
+ ) => void,
2898
+ +'ObjectTypeProperty:exit'?: (node: ObjectTypeProperty) => void,
2899
+ +'ObjectTypeProperty[key]:exit'?: (node: ObjectTypeProperty_With_key) => void,
2900
+ +'ObjectTypeProperty[value]:exit'?: (
2901
+ node: ObjectTypeProperty_With_value,
2902
+ ) => void,
2903
+ +'ObjectTypeProperty[method]:exit'?: (
2904
+ node: ObjectTypeProperty_With_method,
2905
+ ) => void,
2906
+ +'ObjectTypeProperty[optional]:exit'?: (
2907
+ node: ObjectTypeProperty_With_optional,
2908
+ ) => void,
2909
+ +'ObjectTypeProperty[static]:exit'?: (
2910
+ node: ObjectTypeProperty_With_static,
2911
+ ) => void,
2912
+ +'ObjectTypeProperty[proto]:exit'?: (
2913
+ node: ObjectTypeProperty_With_proto,
2914
+ ) => void,
2915
+ +'ObjectTypeProperty[variance]:exit'?: (
2916
+ node: ObjectTypeProperty_With_variance,
2917
+ ) => void,
2918
+ +'ObjectTypeProperty[kind]:exit'?: (
2919
+ node: ObjectTypeProperty_With_kind,
2920
+ ) => void,
2921
+ +'ObjectTypeSpreadProperty:exit'?: (node: ObjectTypeSpreadProperty) => void,
2922
+ +'ObjectTypeSpreadProperty[argument]:exit'?: (
2923
+ node: ObjectTypeSpreadProperty_With_argument,
2924
+ ) => void,
2925
+ +'OpaqueType:exit'?: (node: OpaqueType) => void,
2926
+ +'OpaqueType[id]:exit'?: (node: OpaqueType_With_id) => void,
2927
+ +'OpaqueType[typeParameters]:exit'?: (
2928
+ node: OpaqueType_With_typeParameters,
2929
+ ) => void,
2930
+ +'OpaqueType[impltype]:exit'?: (node: OpaqueType_With_impltype) => void,
2931
+ +'OpaqueType[supertype]:exit'?: (node: OpaqueType_With_supertype) => void,
2932
+ +'OptionalCallExpression:exit'?: (node: OptionalCallExpression) => void,
2933
+ +'OptionalCallExpression[callee]:exit'?: (
2934
+ node: OptionalCallExpression_With_callee,
2935
+ ) => void,
2936
+ +'OptionalCallExpression[typeArguments]:exit'?: (
2937
+ node: OptionalCallExpression_With_typeArguments,
2938
+ ) => void,
2939
+ +'OptionalCallExpression[arguments]:exit'?: (
2940
+ node: OptionalCallExpression_With_arguments,
2941
+ ) => void,
2942
+ +'OptionalCallExpression[optional]:exit'?: (
2943
+ node: OptionalCallExpression_With_optional,
2944
+ ) => void,
2945
+ +'OptionalIndexedAccessType:exit'?: (node: OptionalIndexedAccessType) => void,
2946
+ +'OptionalIndexedAccessType[objectType]:exit'?: (
2947
+ node: OptionalIndexedAccessType_With_objectType,
2948
+ ) => void,
2949
+ +'OptionalIndexedAccessType[indexType]:exit'?: (
2950
+ node: OptionalIndexedAccessType_With_indexType,
2951
+ ) => void,
2952
+ +'OptionalIndexedAccessType[optional]:exit'?: (
2953
+ node: OptionalIndexedAccessType_With_optional,
2954
+ ) => void,
2955
+ +'OptionalMemberExpression:exit'?: (node: OptionalMemberExpression) => void,
2956
+ +'OptionalMemberExpression[object]:exit'?: (
2957
+ node: OptionalMemberExpression_With_object,
2958
+ ) => void,
2959
+ +'OptionalMemberExpression[property]:exit'?: (
2960
+ node: OptionalMemberExpression_With_property,
2961
+ ) => void,
2962
+ +'OptionalMemberExpression[computed]:exit'?: (
2963
+ node: OptionalMemberExpression_With_computed,
2964
+ ) => void,
2965
+ +'OptionalMemberExpression[optional]:exit'?: (
2966
+ node: OptionalMemberExpression_With_optional,
2967
+ ) => void,
2968
+ +'PrivateName:exit'?: (node: PrivateName) => void,
2969
+ +'PrivateName[id]:exit'?: (node: PrivateName_With_id) => void,
2970
+ +'Program:exit'?: (node: Program) => void,
2971
+ +'Program[body]:exit'?: (node: Program_With_body) => void,
2972
+ +'Property:exit'?: (node: Property) => void,
2973
+ +'Property[key]:exit'?: (node: Property_With_key) => void,
2974
+ +'Property[value]:exit'?: (node: Property_With_value) => void,
2975
+ +'Property[kind]:exit'?: (node: Property_With_kind) => void,
2976
+ +'Property[computed]:exit'?: (node: Property_With_computed) => void,
2977
+ +'Property[method]:exit'?: (node: Property_With_method) => void,
2978
+ +'Property[shorthand]:exit'?: (node: Property_With_shorthand) => void,
2979
+ +'QualifiedTypeIdentifier:exit'?: (node: QualifiedTypeIdentifier) => void,
2980
+ +'QualifiedTypeIdentifier[qualification]:exit'?: (
2981
+ node: QualifiedTypeIdentifier_With_qualification,
2982
+ ) => void,
2983
+ +'QualifiedTypeIdentifier[id]:exit'?: (
2984
+ node: QualifiedTypeIdentifier_With_id,
2985
+ ) => void,
2986
+ +'RestElement:exit'?: (node: RestElement) => void,
2987
+ +'RestElement[argument]:exit'?: (node: RestElement_With_argument) => void,
2988
+ +'ReturnStatement:exit'?: (node: ReturnStatement) => void,
2989
+ +'ReturnStatement[argument]:exit'?: (
2990
+ node: ReturnStatement_With_argument,
2991
+ ) => void,
2992
+ +'SequenceExpression:exit'?: (node: SequenceExpression) => void,
2993
+ +'SequenceExpression[expressions]:exit'?: (
2994
+ node: SequenceExpression_With_expressions,
2995
+ ) => void,
2996
+ +'SpreadElement:exit'?: (node: SpreadElement) => void,
2997
+ +'SpreadElement[argument]:exit'?: (node: SpreadElement_With_argument) => void,
2998
+ +'StringLiteralTypeAnnotation:exit'?: (
2999
+ node: StringLiteralTypeAnnotation,
3000
+ ) => void,
3001
+ +'StringLiteralTypeAnnotation[value]:exit'?: (
3002
+ node: StringLiteralTypeAnnotation_With_value,
3003
+ ) => void,
3004
+ +'StringTypeAnnotation:exit'?: (node: StringTypeAnnotation) => void,
3005
+ +'Super:exit'?: (node: Super) => void,
3006
+ +'SwitchCase:exit'?: (node: SwitchCase) => void,
3007
+ +'SwitchCase[test]:exit'?: (node: SwitchCase_With_test) => void,
3008
+ +'SwitchCase[consequent]:exit'?: (node: SwitchCase_With_consequent) => void,
3009
+ +'SwitchStatement:exit'?: (node: SwitchStatement) => void,
3010
+ +'SwitchStatement[discriminant]:exit'?: (
3011
+ node: SwitchStatement_With_discriminant,
3012
+ ) => void,
3013
+ +'SwitchStatement[cases]:exit'?: (node: SwitchStatement_With_cases) => void,
3014
+ +'SymbolTypeAnnotation:exit'?: (node: SymbolTypeAnnotation) => void,
3015
+ +'TaggedTemplateExpression:exit'?: (node: TaggedTemplateExpression) => void,
3016
+ +'TaggedTemplateExpression[tag]:exit'?: (
3017
+ node: TaggedTemplateExpression_With_tag,
3018
+ ) => void,
3019
+ +'TaggedTemplateExpression[quasi]:exit'?: (
3020
+ node: TaggedTemplateExpression_With_quasi,
3021
+ ) => void,
3022
+ +'TemplateElement:exit'?: (node: TemplateElement) => void,
3023
+ +'TemplateElement[tail]:exit'?: (node: TemplateElement_With_tail) => void,
3024
+ +'TemplateElement[cooked]:exit'?: (node: TemplateElement_With_cooked) => void,
3025
+ +'TemplateElement[raw]:exit'?: (node: TemplateElement_With_raw) => void,
3026
+ +'TemplateLiteral:exit'?: (node: TemplateLiteral) => void,
3027
+ +'TemplateLiteral[quasis]:exit'?: (node: TemplateLiteral_With_quasis) => void,
3028
+ +'TemplateLiteral[expressions]:exit'?: (
3029
+ node: TemplateLiteral_With_expressions,
3030
+ ) => void,
3031
+ +'ThisExpression:exit'?: (node: ThisExpression) => void,
3032
+ +'ThisTypeAnnotation:exit'?: (node: ThisTypeAnnotation) => void,
3033
+ +'ThrowStatement:exit'?: (node: ThrowStatement) => void,
3034
+ +'ThrowStatement[argument]:exit'?: (
3035
+ node: ThrowStatement_With_argument,
3036
+ ) => void,
3037
+ +'TryStatement:exit'?: (node: TryStatement) => void,
3038
+ +'TryStatement[block]:exit'?: (node: TryStatement_With_block) => void,
3039
+ +'TryStatement[handler]:exit'?: (node: TryStatement_With_handler) => void,
3040
+ +'TryStatement[finalizer]:exit'?: (node: TryStatement_With_finalizer) => void,
3041
+ +'TupleTypeAnnotation:exit'?: (node: TupleTypeAnnotation) => void,
3042
+ +'TupleTypeAnnotation[types]:exit'?: (
3043
+ node: TupleTypeAnnotation_With_types,
3044
+ ) => void,
3045
+ +'TypeAlias:exit'?: (node: TypeAlias) => void,
3046
+ +'TypeAlias[id]:exit'?: (node: TypeAlias_With_id) => void,
3047
+ +'TypeAlias[typeParameters]:exit'?: (
3048
+ node: TypeAlias_With_typeParameters,
3049
+ ) => void,
3050
+ +'TypeAlias[right]:exit'?: (node: TypeAlias_With_right) => void,
3051
+ +'TypeAnnotation:exit'?: (node: TypeAnnotation) => void,
3052
+ +'TypeAnnotation[typeAnnotation]:exit'?: (
3053
+ node: TypeAnnotation_With_typeAnnotation,
3054
+ ) => void,
3055
+ +'TypeCastExpression:exit'?: (node: TypeCastExpression) => void,
3056
+ +'TypeCastExpression[expression]:exit'?: (
3057
+ node: TypeCastExpression_With_expression,
3058
+ ) => void,
3059
+ +'TypeCastExpression[typeAnnotation]:exit'?: (
3060
+ node: TypeCastExpression_With_typeAnnotation,
3061
+ ) => void,
3062
+ +'TypeofTypeAnnotation:exit'?: (node: TypeofTypeAnnotation) => void,
3063
+ +'TypeofTypeAnnotation[argument]:exit'?: (
3064
+ node: TypeofTypeAnnotation_With_argument,
3065
+ ) => void,
3066
+ +'TypeParameter:exit'?: (node: TypeParameter) => void,
3067
+ +'TypeParameter[name]:exit'?: (node: TypeParameter_With_name) => void,
3068
+ +'TypeParameter[bound]:exit'?: (node: TypeParameter_With_bound) => void,
3069
+ +'TypeParameter[variance]:exit'?: (node: TypeParameter_With_variance) => void,
3070
+ +'TypeParameter[default]:exit'?: (node: TypeParameter_With_default) => void,
3071
+ +'TypeParameterDeclaration:exit'?: (node: TypeParameterDeclaration) => void,
3072
+ +'TypeParameterDeclaration[params]:exit'?: (
3073
+ node: TypeParameterDeclaration_With_params,
3074
+ ) => void,
3075
+ +'TypeParameterInstantiation:exit'?: (
3076
+ node: TypeParameterInstantiation,
3077
+ ) => void,
3078
+ +'TypeParameterInstantiation[params]:exit'?: (
3079
+ node: TypeParameterInstantiation_With_params,
3080
+ ) => void,
3081
+ +'UnaryExpression:exit'?: (node: UnaryExpression) => void,
3082
+ +'UnaryExpression[operator]:exit'?: (
3083
+ node: UnaryExpression_With_operator,
3084
+ ) => void,
3085
+ +'UnaryExpression[argument]:exit'?: (
3086
+ node: UnaryExpression_With_argument,
3087
+ ) => void,
3088
+ +'UnaryExpression[prefix]:exit'?: (node: UnaryExpression_With_prefix) => void,
3089
+ +'UnionTypeAnnotation:exit'?: (node: UnionTypeAnnotation) => void,
3090
+ +'UnionTypeAnnotation[types]:exit'?: (
3091
+ node: UnionTypeAnnotation_With_types,
3092
+ ) => void,
3093
+ +'UpdateExpression:exit'?: (node: UpdateExpression) => void,
3094
+ +'UpdateExpression[operator]:exit'?: (
3095
+ node: UpdateExpression_With_operator,
3096
+ ) => void,
3097
+ +'UpdateExpression[argument]:exit'?: (
3098
+ node: UpdateExpression_With_argument,
3099
+ ) => void,
3100
+ +'UpdateExpression[prefix]:exit'?: (
3101
+ node: UpdateExpression_With_prefix,
3102
+ ) => void,
3103
+ +'VariableDeclaration:exit'?: (node: VariableDeclaration) => void,
3104
+ +'VariableDeclaration[kind]:exit'?: (
3105
+ node: VariableDeclaration_With_kind,
3106
+ ) => void,
3107
+ +'VariableDeclaration[declarations]:exit'?: (
3108
+ node: VariableDeclaration_With_declarations,
3109
+ ) => void,
3110
+ +'VariableDeclarator:exit'?: (node: VariableDeclarator) => void,
3111
+ +'VariableDeclarator[init]:exit'?: (
3112
+ node: VariableDeclarator_With_init,
3113
+ ) => void,
3114
+ +'VariableDeclarator[id]:exit'?: (node: VariableDeclarator_With_id) => void,
3115
+ +'Variance:exit'?: (node: Variance) => void,
3116
+ +'Variance[kind]:exit'?: (node: Variance_With_kind) => void,
3117
+ +'VoidTypeAnnotation:exit'?: (node: VoidTypeAnnotation) => void,
3118
+ +'WhileStatement:exit'?: (node: WhileStatement) => void,
3119
+ +'WhileStatement[body]:exit'?: (node: WhileStatement_With_body) => void,
3120
+ +'WhileStatement[test]:exit'?: (node: WhileStatement_With_test) => void,
3121
+ +'WithStatement:exit'?: (node: WithStatement) => void,
3122
+ +'WithStatement[object]:exit'?: (node: WithStatement_With_object) => void,
3123
+ +'WithStatement[body]:exit'?: (node: WithStatement_With_body) => void,
3124
+ +'YieldExpression:exit'?: (node: YieldExpression) => void,
3125
+ +'YieldExpression[argument]:exit'?: (
3126
+ node: YieldExpression_With_argument,
3127
+ ) => void,
3128
+ +'YieldExpression[delegate]:exit'?: (
3129
+ node: YieldExpression_With_delegate,
3130
+ ) => void,
3131
+ +'Literal:exit'?: (node: Literal) => void,
3132
+ +'*:exit'?: (node: StarSpecialSelector) => void,
3133
+ +':statement:exit'?: (node: StatementSpecialSelector) => void,
3134
+ +':declaration:exit'?: (node: DeclarationSpecialSelector) => void,
3135
+ +':pattern:exit'?: (node: PatternSpecialSelector) => void,
3136
+ +':expression:exit'?: (node: ExpressionSpecialSelector) => void,
3137
+ +':function:exit'?: (node: FunctionSpecialSelector) => void,
3138
+ };