hermes-transform 0.10.0 → 0.11.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.
@@ -17,7 +17,7 @@
17
17
 
18
18
  // lint directives to let us do some basic validation of generated files
19
19
  /* eslint no-undef: 'error', no-unused-vars: ['error', {vars: "local"}], no-redeclare: 'error' */
20
- /* global $NonMaybeType, $Partial, $ReadOnly, $ReadOnlyArray */
20
+ /* global $NonMaybeType, Partial, $ReadOnly, $ReadOnlyArray */
21
21
 
22
22
  'use strict';
23
23
 
@@ -46,11 +46,18 @@ import type {
46
46
  ClassDeclaration,
47
47
  ClassExpression,
48
48
  ClassImplements,
49
+ ComponentDeclaration,
50
+ ComponentParameter,
51
+ ComponentTypeAnnotation,
52
+ ComponentTypeParameter,
49
53
  ConditionalExpression,
54
+ ConditionalTypeAnnotation,
50
55
  ContinueStatement,
51
56
  DebuggerStatement,
52
57
  DeclareClass,
58
+ DeclareComponent,
53
59
  DeclaredPredicate,
60
+ DeclareEnum,
54
61
  DeclareExportAllDeclaration,
55
62
  DeclareExportDeclaration,
56
63
  DeclareFunction,
@@ -96,6 +103,7 @@ import type {
96
103
  ImportSpecifier,
97
104
  IndexedAccessType,
98
105
  InferredPredicate,
106
+ InferTypeAnnotation,
99
107
  InterfaceDeclaration,
100
108
  InterfaceExtends,
101
109
  InterfaceTypeAnnotation,
@@ -115,6 +123,7 @@ import type {
115
123
  JSXSpreadAttribute,
116
124
  JSXSpreadChild,
117
125
  JSXText,
126
+ KeyofTypeAnnotation,
118
127
  LabeledStatement,
119
128
  LogicalExpression,
120
129
  MemberExpression,
@@ -134,6 +143,7 @@ import type {
134
143
  ObjectTypeCallProperty,
135
144
  ObjectTypeIndexer,
136
145
  ObjectTypeInternalSlot,
146
+ ObjectTypeMappedTypeProperty,
137
147
  ObjectTypeProperty,
138
148
  ObjectTypeSpreadProperty,
139
149
  OpaqueType,
@@ -142,6 +152,7 @@ import type {
142
152
  Property,
143
153
  PropertyDefinition,
144
154
  QualifiedTypeIdentifier,
155
+ QualifiedTypeofIdentifier,
145
156
  RegExpLiteral,
146
157
  RestElement,
147
158
  ReturnStatement,
@@ -162,6 +173,8 @@ import type {
162
173
  ThrowStatement,
163
174
  TryStatement,
164
175
  TupleTypeAnnotation,
176
+ TupleTypeLabeledElement,
177
+ TupleTypeSpreadElement,
165
178
  TypeAlias,
166
179
  TypeAnnotation,
167
180
  TypeCastExpression,
@@ -169,6 +182,7 @@ import type {
169
182
  TypeParameter,
170
183
  TypeParameterDeclaration,
171
184
  TypeParameterInstantiation,
185
+ TypePredicate,
172
186
  UnaryExpression,
173
187
  UnionTypeAnnotation,
174
188
  UpdateExpression,
@@ -205,11 +219,18 @@ import type {
205
219
  ClassDeclarationProps,
206
220
  ClassExpressionProps,
207
221
  ClassImplementsProps,
222
+ ComponentDeclarationProps,
223
+ ComponentParameterProps,
224
+ ComponentTypeAnnotationProps,
225
+ ComponentTypeParameterProps,
208
226
  ConditionalExpressionProps,
227
+ ConditionalTypeAnnotationProps,
209
228
  ContinueStatementProps,
210
229
  DebuggerStatementProps,
211
230
  DeclareClassProps,
231
+ DeclareComponentProps,
212
232
  DeclaredPredicateProps,
233
+ DeclareEnumProps,
213
234
  DeclareExportAllDeclarationProps,
214
235
  DeclareExportDeclarationProps,
215
236
  DeclareFunctionProps,
@@ -255,6 +276,7 @@ import type {
255
276
  ImportSpecifierProps,
256
277
  IndexedAccessTypeProps,
257
278
  InferredPredicateProps,
279
+ InferTypeAnnotationProps,
258
280
  InterfaceDeclarationProps,
259
281
  InterfaceExtendsProps,
260
282
  InterfaceTypeAnnotationProps,
@@ -274,6 +296,7 @@ import type {
274
296
  JSXSpreadAttributeProps,
275
297
  JSXSpreadChildProps,
276
298
  JSXTextProps,
299
+ KeyofTypeAnnotationProps,
277
300
  LabeledStatementProps,
278
301
  LogicalExpressionProps,
279
302
  MemberExpressionProps,
@@ -293,6 +316,7 @@ import type {
293
316
  ObjectTypeCallPropertyProps,
294
317
  ObjectTypeIndexerProps,
295
318
  ObjectTypeInternalSlotProps,
319
+ ObjectTypeMappedTypePropertyProps,
296
320
  ObjectTypePropertyProps,
297
321
  ObjectTypeSpreadPropertyProps,
298
322
  OpaqueTypeProps,
@@ -301,6 +325,7 @@ import type {
301
325
  PropertyProps,
302
326
  PropertyDefinitionProps,
303
327
  QualifiedTypeIdentifierProps,
328
+ QualifiedTypeofIdentifierProps,
304
329
  RegExpLiteralProps,
305
330
  RestElementProps,
306
331
  ReturnStatementProps,
@@ -321,6 +346,8 @@ import type {
321
346
  ThrowStatementProps,
322
347
  TryStatementProps,
323
348
  TupleTypeAnnotationProps,
349
+ TupleTypeLabeledElementProps,
350
+ TupleTypeSpreadElementProps,
324
351
  TypeAliasProps,
325
352
  TypeAnnotationProps,
326
353
  TypeCastExpressionProps,
@@ -328,6 +355,7 @@ import type {
328
355
  TypeParameterProps,
329
356
  TypeParameterDeclarationProps,
330
357
  TypeParameterInstantiationProps,
358
+ TypePredicateProps,
331
359
  UnaryExpressionProps,
332
360
  UnionTypeAnnotationProps,
333
361
  UpdateExpressionProps,
@@ -343,1259 +371,1368 @@ import type {DetachedNode} from '../detachedNode';
343
371
 
344
372
  type AnyTypeAnnotationCloneSignature = ((
345
373
  node: AnyTypeAnnotation,
346
- newProps: $Partial<AnyTypeAnnotationProps>,
374
+ newProps: Partial<AnyTypeAnnotationProps>,
347
375
  ) => DetachedNode<AnyTypeAnnotation>) &
348
376
  ((
349
377
  node: ?AnyTypeAnnotation,
350
- newProps: $Partial<AnyTypeAnnotationProps>,
378
+ newProps: Partial<AnyTypeAnnotationProps>,
351
379
  ) => DetachedNode<AnyTypeAnnotation> | null);
352
380
  type ArrayExpressionCloneSignature = ((
353
381
  node: ArrayExpression,
354
- newProps: $Partial<ArrayExpressionProps>,
382
+ newProps: Partial<ArrayExpressionProps>,
355
383
  ) => DetachedNode<ArrayExpression>) &
356
384
  ((
357
385
  node: ?ArrayExpression,
358
- newProps: $Partial<ArrayExpressionProps>,
386
+ newProps: Partial<ArrayExpressionProps>,
359
387
  ) => DetachedNode<ArrayExpression> | null);
360
388
  type ArrayPatternCloneSignature = ((
361
389
  node: ArrayPattern,
362
- newProps: $Partial<ArrayPatternProps>,
390
+ newProps: Partial<ArrayPatternProps>,
363
391
  ) => DetachedNode<ArrayPattern>) &
364
392
  ((
365
393
  node: ?ArrayPattern,
366
- newProps: $Partial<ArrayPatternProps>,
394
+ newProps: Partial<ArrayPatternProps>,
367
395
  ) => DetachedNode<ArrayPattern> | null);
368
396
  type ArrayTypeAnnotationCloneSignature = ((
369
397
  node: ArrayTypeAnnotation,
370
- newProps: $Partial<ArrayTypeAnnotationProps>,
398
+ newProps: Partial<ArrayTypeAnnotationProps>,
371
399
  ) => DetachedNode<ArrayTypeAnnotation>) &
372
400
  ((
373
401
  node: ?ArrayTypeAnnotation,
374
- newProps: $Partial<ArrayTypeAnnotationProps>,
402
+ newProps: Partial<ArrayTypeAnnotationProps>,
375
403
  ) => DetachedNode<ArrayTypeAnnotation> | null);
376
404
  type ArrowFunctionExpressionCloneSignature = ((
377
405
  node: ArrowFunctionExpression,
378
- newProps: $Partial<ArrowFunctionExpressionProps>,
406
+ newProps: Partial<ArrowFunctionExpressionProps>,
379
407
  ) => DetachedNode<ArrowFunctionExpression>) &
380
408
  ((
381
409
  node: ?ArrowFunctionExpression,
382
- newProps: $Partial<ArrowFunctionExpressionProps>,
410
+ newProps: Partial<ArrowFunctionExpressionProps>,
383
411
  ) => DetachedNode<ArrowFunctionExpression> | null);
384
412
  type AssignmentExpressionCloneSignature = ((
385
413
  node: AssignmentExpression,
386
- newProps: $Partial<AssignmentExpressionProps>,
414
+ newProps: Partial<AssignmentExpressionProps>,
387
415
  ) => DetachedNode<AssignmentExpression>) &
388
416
  ((
389
417
  node: ?AssignmentExpression,
390
- newProps: $Partial<AssignmentExpressionProps>,
418
+ newProps: Partial<AssignmentExpressionProps>,
391
419
  ) => DetachedNode<AssignmentExpression> | null);
392
420
  type AssignmentPatternCloneSignature = ((
393
421
  node: AssignmentPattern,
394
- newProps: $Partial<AssignmentPatternProps>,
422
+ newProps: Partial<AssignmentPatternProps>,
395
423
  ) => DetachedNode<AssignmentPattern>) &
396
424
  ((
397
425
  node: ?AssignmentPattern,
398
- newProps: $Partial<AssignmentPatternProps>,
426
+ newProps: Partial<AssignmentPatternProps>,
399
427
  ) => DetachedNode<AssignmentPattern> | null);
400
428
  type AwaitExpressionCloneSignature = ((
401
429
  node: AwaitExpression,
402
- newProps: $Partial<AwaitExpressionProps>,
430
+ newProps: Partial<AwaitExpressionProps>,
403
431
  ) => DetachedNode<AwaitExpression>) &
404
432
  ((
405
433
  node: ?AwaitExpression,
406
- newProps: $Partial<AwaitExpressionProps>,
434
+ newProps: Partial<AwaitExpressionProps>,
407
435
  ) => DetachedNode<AwaitExpression> | null);
408
436
  type BigIntLiteralCloneSignature = ((
409
437
  node: BigIntLiteral,
410
- newProps: $Partial<BigIntLiteralProps>,
438
+ newProps: Partial<BigIntLiteralProps>,
411
439
  ) => DetachedNode<BigIntLiteral>) &
412
440
  ((
413
441
  node: ?BigIntLiteral,
414
- newProps: $Partial<BigIntLiteralProps>,
442
+ newProps: Partial<BigIntLiteralProps>,
415
443
  ) => DetachedNode<BigIntLiteral> | null);
416
444
  type BigIntLiteralTypeAnnotationCloneSignature = ((
417
445
  node: BigIntLiteralTypeAnnotation,
418
- newProps: $Partial<BigIntLiteralTypeAnnotationProps>,
446
+ newProps: Partial<BigIntLiteralTypeAnnotationProps>,
419
447
  ) => DetachedNode<BigIntLiteralTypeAnnotation>) &
420
448
  ((
421
449
  node: ?BigIntLiteralTypeAnnotation,
422
- newProps: $Partial<BigIntLiteralTypeAnnotationProps>,
450
+ newProps: Partial<BigIntLiteralTypeAnnotationProps>,
423
451
  ) => DetachedNode<BigIntLiteralTypeAnnotation> | null);
424
452
  type BigIntTypeAnnotationCloneSignature = ((
425
453
  node: BigIntTypeAnnotation,
426
- newProps: $Partial<BigIntTypeAnnotationProps>,
454
+ newProps: Partial<BigIntTypeAnnotationProps>,
427
455
  ) => DetachedNode<BigIntTypeAnnotation>) &
428
456
  ((
429
457
  node: ?BigIntTypeAnnotation,
430
- newProps: $Partial<BigIntTypeAnnotationProps>,
458
+ newProps: Partial<BigIntTypeAnnotationProps>,
431
459
  ) => DetachedNode<BigIntTypeAnnotation> | null);
432
460
  type BinaryExpressionCloneSignature = ((
433
461
  node: BinaryExpression,
434
- newProps: $Partial<BinaryExpressionProps>,
462
+ newProps: Partial<BinaryExpressionProps>,
435
463
  ) => DetachedNode<BinaryExpression>) &
436
464
  ((
437
465
  node: ?BinaryExpression,
438
- newProps: $Partial<BinaryExpressionProps>,
466
+ newProps: Partial<BinaryExpressionProps>,
439
467
  ) => DetachedNode<BinaryExpression> | null);
440
468
  type BlockStatementCloneSignature = ((
441
469
  node: BlockStatement,
442
- newProps: $Partial<BlockStatementProps>,
470
+ newProps: Partial<BlockStatementProps>,
443
471
  ) => DetachedNode<BlockStatement>) &
444
472
  ((
445
473
  node: ?BlockStatement,
446
- newProps: $Partial<BlockStatementProps>,
474
+ newProps: Partial<BlockStatementProps>,
447
475
  ) => DetachedNode<BlockStatement> | null);
448
476
  type BooleanLiteralCloneSignature = ((
449
477
  node: BooleanLiteral,
450
- newProps: $Partial<BooleanLiteralProps>,
478
+ newProps: Partial<BooleanLiteralProps>,
451
479
  ) => DetachedNode<BooleanLiteral>) &
452
480
  ((
453
481
  node: ?BooleanLiteral,
454
- newProps: $Partial<BooleanLiteralProps>,
482
+ newProps: Partial<BooleanLiteralProps>,
455
483
  ) => DetachedNode<BooleanLiteral> | null);
456
484
  type BooleanLiteralTypeAnnotationCloneSignature = ((
457
485
  node: BooleanLiteralTypeAnnotation,
458
- newProps: $Partial<BooleanLiteralTypeAnnotationProps>,
486
+ newProps: Partial<BooleanLiteralTypeAnnotationProps>,
459
487
  ) => DetachedNode<BooleanLiteralTypeAnnotation>) &
460
488
  ((
461
489
  node: ?BooleanLiteralTypeAnnotation,
462
- newProps: $Partial<BooleanLiteralTypeAnnotationProps>,
490
+ newProps: Partial<BooleanLiteralTypeAnnotationProps>,
463
491
  ) => DetachedNode<BooleanLiteralTypeAnnotation> | null);
464
492
  type BooleanTypeAnnotationCloneSignature = ((
465
493
  node: BooleanTypeAnnotation,
466
- newProps: $Partial<BooleanTypeAnnotationProps>,
494
+ newProps: Partial<BooleanTypeAnnotationProps>,
467
495
  ) => DetachedNode<BooleanTypeAnnotation>) &
468
496
  ((
469
497
  node: ?BooleanTypeAnnotation,
470
- newProps: $Partial<BooleanTypeAnnotationProps>,
498
+ newProps: Partial<BooleanTypeAnnotationProps>,
471
499
  ) => DetachedNode<BooleanTypeAnnotation> | null);
472
500
  type BreakStatementCloneSignature = ((
473
501
  node: BreakStatement,
474
- newProps: $Partial<BreakStatementProps>,
502
+ newProps: Partial<BreakStatementProps>,
475
503
  ) => DetachedNode<BreakStatement>) &
476
504
  ((
477
505
  node: ?BreakStatement,
478
- newProps: $Partial<BreakStatementProps>,
506
+ newProps: Partial<BreakStatementProps>,
479
507
  ) => DetachedNode<BreakStatement> | null);
480
508
  type CallExpressionCloneSignature = ((
481
509
  node: CallExpression,
482
- newProps: $Partial<CallExpressionProps>,
510
+ newProps: Partial<CallExpressionProps>,
483
511
  ) => DetachedNode<CallExpression>) &
484
512
  ((
485
513
  node: ?CallExpression,
486
- newProps: $Partial<CallExpressionProps>,
514
+ newProps: Partial<CallExpressionProps>,
487
515
  ) => DetachedNode<CallExpression> | null);
488
516
  type CatchClauseCloneSignature = ((
489
517
  node: CatchClause,
490
- newProps: $Partial<CatchClauseProps>,
518
+ newProps: Partial<CatchClauseProps>,
491
519
  ) => DetachedNode<CatchClause>) &
492
520
  ((
493
521
  node: ?CatchClause,
494
- newProps: $Partial<CatchClauseProps>,
522
+ newProps: Partial<CatchClauseProps>,
495
523
  ) => DetachedNode<CatchClause> | null);
496
524
  type ChainExpressionCloneSignature = ((
497
525
  node: ChainExpression,
498
- newProps: $Partial<ChainExpressionProps>,
526
+ newProps: Partial<ChainExpressionProps>,
499
527
  ) => DetachedNode<ChainExpression>) &
500
528
  ((
501
529
  node: ?ChainExpression,
502
- newProps: $Partial<ChainExpressionProps>,
530
+ newProps: Partial<ChainExpressionProps>,
503
531
  ) => DetachedNode<ChainExpression> | null);
504
532
  type ClassBodyCloneSignature = ((
505
533
  node: ClassBody,
506
- newProps: $Partial<ClassBodyProps>,
534
+ newProps: Partial<ClassBodyProps>,
507
535
  ) => DetachedNode<ClassBody>) &
508
536
  ((
509
537
  node: ?ClassBody,
510
- newProps: $Partial<ClassBodyProps>,
538
+ newProps: Partial<ClassBodyProps>,
511
539
  ) => DetachedNode<ClassBody> | null);
512
540
  type ClassDeclarationCloneSignature = ((
513
541
  node: ClassDeclaration,
514
- newProps: $Partial<ClassDeclarationProps>,
542
+ newProps: Partial<ClassDeclarationProps>,
515
543
  ) => DetachedNode<ClassDeclaration>) &
516
544
  ((
517
545
  node: ?ClassDeclaration,
518
- newProps: $Partial<ClassDeclarationProps>,
546
+ newProps: Partial<ClassDeclarationProps>,
519
547
  ) => DetachedNode<ClassDeclaration> | null);
520
548
  type ClassExpressionCloneSignature = ((
521
549
  node: ClassExpression,
522
- newProps: $Partial<ClassExpressionProps>,
550
+ newProps: Partial<ClassExpressionProps>,
523
551
  ) => DetachedNode<ClassExpression>) &
524
552
  ((
525
553
  node: ?ClassExpression,
526
- newProps: $Partial<ClassExpressionProps>,
554
+ newProps: Partial<ClassExpressionProps>,
527
555
  ) => DetachedNode<ClassExpression> | null);
528
556
  type ClassImplementsCloneSignature = ((
529
557
  node: ClassImplements,
530
- newProps: $Partial<ClassImplementsProps>,
558
+ newProps: Partial<ClassImplementsProps>,
531
559
  ) => DetachedNode<ClassImplements>) &
532
560
  ((
533
561
  node: ?ClassImplements,
534
- newProps: $Partial<ClassImplementsProps>,
562
+ newProps: Partial<ClassImplementsProps>,
535
563
  ) => DetachedNode<ClassImplements> | null);
564
+ type ComponentDeclarationCloneSignature = ((
565
+ node: ComponentDeclaration,
566
+ newProps: Partial<ComponentDeclarationProps>,
567
+ ) => DetachedNode<ComponentDeclaration>) &
568
+ ((
569
+ node: ?ComponentDeclaration,
570
+ newProps: Partial<ComponentDeclarationProps>,
571
+ ) => DetachedNode<ComponentDeclaration> | null);
572
+ type ComponentParameterCloneSignature = ((
573
+ node: ComponentParameter,
574
+ newProps: Partial<ComponentParameterProps>,
575
+ ) => DetachedNode<ComponentParameter>) &
576
+ ((
577
+ node: ?ComponentParameter,
578
+ newProps: Partial<ComponentParameterProps>,
579
+ ) => DetachedNode<ComponentParameter> | null);
580
+ type ComponentTypeAnnotationCloneSignature = ((
581
+ node: ComponentTypeAnnotation,
582
+ newProps: Partial<ComponentTypeAnnotationProps>,
583
+ ) => DetachedNode<ComponentTypeAnnotation>) &
584
+ ((
585
+ node: ?ComponentTypeAnnotation,
586
+ newProps: Partial<ComponentTypeAnnotationProps>,
587
+ ) => DetachedNode<ComponentTypeAnnotation> | null);
588
+ type ComponentTypeParameterCloneSignature = ((
589
+ node: ComponentTypeParameter,
590
+ newProps: Partial<ComponentTypeParameterProps>,
591
+ ) => DetachedNode<ComponentTypeParameter>) &
592
+ ((
593
+ node: ?ComponentTypeParameter,
594
+ newProps: Partial<ComponentTypeParameterProps>,
595
+ ) => DetachedNode<ComponentTypeParameter> | null);
536
596
  type ConditionalExpressionCloneSignature = ((
537
597
  node: ConditionalExpression,
538
- newProps: $Partial<ConditionalExpressionProps>,
598
+ newProps: Partial<ConditionalExpressionProps>,
539
599
  ) => DetachedNode<ConditionalExpression>) &
540
600
  ((
541
601
  node: ?ConditionalExpression,
542
- newProps: $Partial<ConditionalExpressionProps>,
602
+ newProps: Partial<ConditionalExpressionProps>,
543
603
  ) => DetachedNode<ConditionalExpression> | null);
604
+ type ConditionalTypeAnnotationCloneSignature = ((
605
+ node: ConditionalTypeAnnotation,
606
+ newProps: Partial<ConditionalTypeAnnotationProps>,
607
+ ) => DetachedNode<ConditionalTypeAnnotation>) &
608
+ ((
609
+ node: ?ConditionalTypeAnnotation,
610
+ newProps: Partial<ConditionalTypeAnnotationProps>,
611
+ ) => DetachedNode<ConditionalTypeAnnotation> | null);
544
612
  type ContinueStatementCloneSignature = ((
545
613
  node: ContinueStatement,
546
- newProps: $Partial<ContinueStatementProps>,
614
+ newProps: Partial<ContinueStatementProps>,
547
615
  ) => DetachedNode<ContinueStatement>) &
548
616
  ((
549
617
  node: ?ContinueStatement,
550
- newProps: $Partial<ContinueStatementProps>,
618
+ newProps: Partial<ContinueStatementProps>,
551
619
  ) => DetachedNode<ContinueStatement> | null);
552
620
  type DebuggerStatementCloneSignature = ((
553
621
  node: DebuggerStatement,
554
- newProps: $Partial<DebuggerStatementProps>,
622
+ newProps: Partial<DebuggerStatementProps>,
555
623
  ) => DetachedNode<DebuggerStatement>) &
556
624
  ((
557
625
  node: ?DebuggerStatement,
558
- newProps: $Partial<DebuggerStatementProps>,
626
+ newProps: Partial<DebuggerStatementProps>,
559
627
  ) => DetachedNode<DebuggerStatement> | null);
560
628
  type DeclareClassCloneSignature = ((
561
629
  node: DeclareClass,
562
- newProps: $Partial<DeclareClassProps>,
630
+ newProps: Partial<DeclareClassProps>,
563
631
  ) => DetachedNode<DeclareClass>) &
564
632
  ((
565
633
  node: ?DeclareClass,
566
- newProps: $Partial<DeclareClassProps>,
634
+ newProps: Partial<DeclareClassProps>,
567
635
  ) => DetachedNode<DeclareClass> | null);
636
+ type DeclareComponentCloneSignature = ((
637
+ node: DeclareComponent,
638
+ newProps: Partial<DeclareComponentProps>,
639
+ ) => DetachedNode<DeclareComponent>) &
640
+ ((
641
+ node: ?DeclareComponent,
642
+ newProps: Partial<DeclareComponentProps>,
643
+ ) => DetachedNode<DeclareComponent> | null);
568
644
  type DeclaredPredicateCloneSignature = ((
569
645
  node: DeclaredPredicate,
570
- newProps: $Partial<DeclaredPredicateProps>,
646
+ newProps: Partial<DeclaredPredicateProps>,
571
647
  ) => DetachedNode<DeclaredPredicate>) &
572
648
  ((
573
649
  node: ?DeclaredPredicate,
574
- newProps: $Partial<DeclaredPredicateProps>,
650
+ newProps: Partial<DeclaredPredicateProps>,
575
651
  ) => DetachedNode<DeclaredPredicate> | null);
652
+ type DeclareEnumCloneSignature = ((
653
+ node: DeclareEnum,
654
+ newProps: Partial<DeclareEnumProps>,
655
+ ) => DetachedNode<DeclareEnum>) &
656
+ ((
657
+ node: ?DeclareEnum,
658
+ newProps: Partial<DeclareEnumProps>,
659
+ ) => DetachedNode<DeclareEnum> | null);
576
660
  type DeclareExportAllDeclarationCloneSignature = ((
577
661
  node: DeclareExportAllDeclaration,
578
- newProps: $Partial<DeclareExportAllDeclarationProps>,
662
+ newProps: Partial<DeclareExportAllDeclarationProps>,
579
663
  ) => DetachedNode<DeclareExportAllDeclaration>) &
580
664
  ((
581
665
  node: ?DeclareExportAllDeclaration,
582
- newProps: $Partial<DeclareExportAllDeclarationProps>,
666
+ newProps: Partial<DeclareExportAllDeclarationProps>,
583
667
  ) => DetachedNode<DeclareExportAllDeclaration> | null);
584
668
  type DeclareExportDeclarationCloneSignature = ((
585
669
  node: DeclareExportDeclaration,
586
- newProps: $Partial<DeclareExportDeclarationProps>,
670
+ newProps: Partial<DeclareExportDeclarationProps>,
587
671
  ) => DetachedNode<DeclareExportDeclaration>) &
588
672
  ((
589
673
  node: ?DeclareExportDeclaration,
590
- newProps: $Partial<DeclareExportDeclarationProps>,
674
+ newProps: Partial<DeclareExportDeclarationProps>,
591
675
  ) => DetachedNode<DeclareExportDeclaration> | null);
592
676
  type DeclareFunctionCloneSignature = ((
593
677
  node: DeclareFunction,
594
- newProps: $Partial<DeclareFunctionProps>,
678
+ newProps: Partial<DeclareFunctionProps>,
595
679
  ) => DetachedNode<DeclareFunction>) &
596
680
  ((
597
681
  node: ?DeclareFunction,
598
- newProps: $Partial<DeclareFunctionProps>,
682
+ newProps: Partial<DeclareFunctionProps>,
599
683
  ) => DetachedNode<DeclareFunction> | null);
600
684
  type DeclareInterfaceCloneSignature = ((
601
685
  node: DeclareInterface,
602
- newProps: $Partial<DeclareInterfaceProps>,
686
+ newProps: Partial<DeclareInterfaceProps>,
603
687
  ) => DetachedNode<DeclareInterface>) &
604
688
  ((
605
689
  node: ?DeclareInterface,
606
- newProps: $Partial<DeclareInterfaceProps>,
690
+ newProps: Partial<DeclareInterfaceProps>,
607
691
  ) => DetachedNode<DeclareInterface> | null);
608
692
  type DeclareModuleCloneSignature = ((
609
693
  node: DeclareModule,
610
- newProps: $Partial<DeclareModuleProps>,
694
+ newProps: Partial<DeclareModuleProps>,
611
695
  ) => DetachedNode<DeclareModule>) &
612
696
  ((
613
697
  node: ?DeclareModule,
614
- newProps: $Partial<DeclareModuleProps>,
698
+ newProps: Partial<DeclareModuleProps>,
615
699
  ) => DetachedNode<DeclareModule> | null);
616
700
  type DeclareModuleExportsCloneSignature = ((
617
701
  node: DeclareModuleExports,
618
- newProps: $Partial<DeclareModuleExportsProps>,
702
+ newProps: Partial<DeclareModuleExportsProps>,
619
703
  ) => DetachedNode<DeclareModuleExports>) &
620
704
  ((
621
705
  node: ?DeclareModuleExports,
622
- newProps: $Partial<DeclareModuleExportsProps>,
706
+ newProps: Partial<DeclareModuleExportsProps>,
623
707
  ) => DetachedNode<DeclareModuleExports> | null);
624
708
  type DeclareOpaqueTypeCloneSignature = ((
625
709
  node: DeclareOpaqueType,
626
- newProps: $Partial<DeclareOpaqueTypeProps>,
710
+ newProps: Partial<DeclareOpaqueTypeProps>,
627
711
  ) => DetachedNode<DeclareOpaqueType>) &
628
712
  ((
629
713
  node: ?DeclareOpaqueType,
630
- newProps: $Partial<DeclareOpaqueTypeProps>,
714
+ newProps: Partial<DeclareOpaqueTypeProps>,
631
715
  ) => DetachedNode<DeclareOpaqueType> | null);
632
716
  type DeclareTypeAliasCloneSignature = ((
633
717
  node: DeclareTypeAlias,
634
- newProps: $Partial<DeclareTypeAliasProps>,
718
+ newProps: Partial<DeclareTypeAliasProps>,
635
719
  ) => DetachedNode<DeclareTypeAlias>) &
636
720
  ((
637
721
  node: ?DeclareTypeAlias,
638
- newProps: $Partial<DeclareTypeAliasProps>,
722
+ newProps: Partial<DeclareTypeAliasProps>,
639
723
  ) => DetachedNode<DeclareTypeAlias> | null);
640
724
  type DeclareVariableCloneSignature = ((
641
725
  node: DeclareVariable,
642
- newProps: $Partial<DeclareVariableProps>,
726
+ newProps: Partial<DeclareVariableProps>,
643
727
  ) => DetachedNode<DeclareVariable>) &
644
728
  ((
645
729
  node: ?DeclareVariable,
646
- newProps: $Partial<DeclareVariableProps>,
730
+ newProps: Partial<DeclareVariableProps>,
647
731
  ) => DetachedNode<DeclareVariable> | null);
648
732
  type DoWhileStatementCloneSignature = ((
649
733
  node: DoWhileStatement,
650
- newProps: $Partial<DoWhileStatementProps>,
734
+ newProps: Partial<DoWhileStatementProps>,
651
735
  ) => DetachedNode<DoWhileStatement>) &
652
736
  ((
653
737
  node: ?DoWhileStatement,
654
- newProps: $Partial<DoWhileStatementProps>,
738
+ newProps: Partial<DoWhileStatementProps>,
655
739
  ) => DetachedNode<DoWhileStatement> | null);
656
740
  type EmptyStatementCloneSignature = ((
657
741
  node: EmptyStatement,
658
- newProps: $Partial<EmptyStatementProps>,
742
+ newProps: Partial<EmptyStatementProps>,
659
743
  ) => DetachedNode<EmptyStatement>) &
660
744
  ((
661
745
  node: ?EmptyStatement,
662
- newProps: $Partial<EmptyStatementProps>,
746
+ newProps: Partial<EmptyStatementProps>,
663
747
  ) => DetachedNode<EmptyStatement> | null);
664
748
  type EmptyTypeAnnotationCloneSignature = ((
665
749
  node: EmptyTypeAnnotation,
666
- newProps: $Partial<EmptyTypeAnnotationProps>,
750
+ newProps: Partial<EmptyTypeAnnotationProps>,
667
751
  ) => DetachedNode<EmptyTypeAnnotation>) &
668
752
  ((
669
753
  node: ?EmptyTypeAnnotation,
670
- newProps: $Partial<EmptyTypeAnnotationProps>,
754
+ newProps: Partial<EmptyTypeAnnotationProps>,
671
755
  ) => DetachedNode<EmptyTypeAnnotation> | null);
672
756
  type EnumBooleanBodyCloneSignature = ((
673
757
  node: EnumBooleanBody,
674
- newProps: $Partial<EnumBooleanBodyProps>,
758
+ newProps: Partial<EnumBooleanBodyProps>,
675
759
  ) => DetachedNode<EnumBooleanBody>) &
676
760
  ((
677
761
  node: ?EnumBooleanBody,
678
- newProps: $Partial<EnumBooleanBodyProps>,
762
+ newProps: Partial<EnumBooleanBodyProps>,
679
763
  ) => DetachedNode<EnumBooleanBody> | null);
680
764
  type EnumBooleanMemberCloneSignature = ((
681
765
  node: EnumBooleanMember,
682
- newProps: $Partial<EnumBooleanMemberProps>,
766
+ newProps: Partial<EnumBooleanMemberProps>,
683
767
  ) => DetachedNode<EnumBooleanMember>) &
684
768
  ((
685
769
  node: ?EnumBooleanMember,
686
- newProps: $Partial<EnumBooleanMemberProps>,
770
+ newProps: Partial<EnumBooleanMemberProps>,
687
771
  ) => DetachedNode<EnumBooleanMember> | null);
688
772
  type EnumDeclarationCloneSignature = ((
689
773
  node: EnumDeclaration,
690
- newProps: $Partial<EnumDeclarationProps>,
774
+ newProps: Partial<EnumDeclarationProps>,
691
775
  ) => DetachedNode<EnumDeclaration>) &
692
776
  ((
693
777
  node: ?EnumDeclaration,
694
- newProps: $Partial<EnumDeclarationProps>,
778
+ newProps: Partial<EnumDeclarationProps>,
695
779
  ) => DetachedNode<EnumDeclaration> | null);
696
780
  type EnumDefaultedMemberCloneSignature = ((
697
781
  node: EnumDefaultedMember,
698
- newProps: $Partial<EnumDefaultedMemberProps>,
782
+ newProps: Partial<EnumDefaultedMemberProps>,
699
783
  ) => DetachedNode<EnumDefaultedMember>) &
700
784
  ((
701
785
  node: ?EnumDefaultedMember,
702
- newProps: $Partial<EnumDefaultedMemberProps>,
786
+ newProps: Partial<EnumDefaultedMemberProps>,
703
787
  ) => DetachedNode<EnumDefaultedMember> | null);
704
788
  type EnumNumberBodyCloneSignature = ((
705
789
  node: EnumNumberBody,
706
- newProps: $Partial<EnumNumberBodyProps>,
790
+ newProps: Partial<EnumNumberBodyProps>,
707
791
  ) => DetachedNode<EnumNumberBody>) &
708
792
  ((
709
793
  node: ?EnumNumberBody,
710
- newProps: $Partial<EnumNumberBodyProps>,
794
+ newProps: Partial<EnumNumberBodyProps>,
711
795
  ) => DetachedNode<EnumNumberBody> | null);
712
796
  type EnumNumberMemberCloneSignature = ((
713
797
  node: EnumNumberMember,
714
- newProps: $Partial<EnumNumberMemberProps>,
798
+ newProps: Partial<EnumNumberMemberProps>,
715
799
  ) => DetachedNode<EnumNumberMember>) &
716
800
  ((
717
801
  node: ?EnumNumberMember,
718
- newProps: $Partial<EnumNumberMemberProps>,
802
+ newProps: Partial<EnumNumberMemberProps>,
719
803
  ) => DetachedNode<EnumNumberMember> | null);
720
804
  type EnumStringBodyCloneSignature = ((
721
805
  node: EnumStringBody,
722
- newProps: $Partial<EnumStringBodyProps>,
806
+ newProps: Partial<EnumStringBodyProps>,
723
807
  ) => DetachedNode<EnumStringBody>) &
724
808
  ((
725
809
  node: ?EnumStringBody,
726
- newProps: $Partial<EnumStringBodyProps>,
810
+ newProps: Partial<EnumStringBodyProps>,
727
811
  ) => DetachedNode<EnumStringBody> | null);
728
812
  type EnumStringMemberCloneSignature = ((
729
813
  node: EnumStringMember,
730
- newProps: $Partial<EnumStringMemberProps>,
814
+ newProps: Partial<EnumStringMemberProps>,
731
815
  ) => DetachedNode<EnumStringMember>) &
732
816
  ((
733
817
  node: ?EnumStringMember,
734
- newProps: $Partial<EnumStringMemberProps>,
818
+ newProps: Partial<EnumStringMemberProps>,
735
819
  ) => DetachedNode<EnumStringMember> | null);
736
820
  type EnumSymbolBodyCloneSignature = ((
737
821
  node: EnumSymbolBody,
738
- newProps: $Partial<EnumSymbolBodyProps>,
822
+ newProps: Partial<EnumSymbolBodyProps>,
739
823
  ) => DetachedNode<EnumSymbolBody>) &
740
824
  ((
741
825
  node: ?EnumSymbolBody,
742
- newProps: $Partial<EnumSymbolBodyProps>,
826
+ newProps: Partial<EnumSymbolBodyProps>,
743
827
  ) => DetachedNode<EnumSymbolBody> | null);
744
828
  type ExistsTypeAnnotationCloneSignature = ((
745
829
  node: ExistsTypeAnnotation,
746
- newProps: $Partial<ExistsTypeAnnotationProps>,
830
+ newProps: Partial<ExistsTypeAnnotationProps>,
747
831
  ) => DetachedNode<ExistsTypeAnnotation>) &
748
832
  ((
749
833
  node: ?ExistsTypeAnnotation,
750
- newProps: $Partial<ExistsTypeAnnotationProps>,
834
+ newProps: Partial<ExistsTypeAnnotationProps>,
751
835
  ) => DetachedNode<ExistsTypeAnnotation> | null);
752
836
  type ExportAllDeclarationCloneSignature = ((
753
837
  node: ExportAllDeclaration,
754
- newProps: $Partial<ExportAllDeclarationProps>,
838
+ newProps: Partial<ExportAllDeclarationProps>,
755
839
  ) => DetachedNode<ExportAllDeclaration>) &
756
840
  ((
757
841
  node: ?ExportAllDeclaration,
758
- newProps: $Partial<ExportAllDeclarationProps>,
842
+ newProps: Partial<ExportAllDeclarationProps>,
759
843
  ) => DetachedNode<ExportAllDeclaration> | null);
760
844
  type ExportDefaultDeclarationCloneSignature = ((
761
845
  node: ExportDefaultDeclaration,
762
- newProps: $Partial<ExportDefaultDeclarationProps>,
846
+ newProps: Partial<ExportDefaultDeclarationProps>,
763
847
  ) => DetachedNode<ExportDefaultDeclaration>) &
764
848
  ((
765
849
  node: ?ExportDefaultDeclaration,
766
- newProps: $Partial<ExportDefaultDeclarationProps>,
850
+ newProps: Partial<ExportDefaultDeclarationProps>,
767
851
  ) => DetachedNode<ExportDefaultDeclaration> | null);
768
852
  type ExportNamedDeclarationCloneSignature = ((
769
853
  node: ExportNamedDeclaration,
770
- newProps: $Partial<ExportNamedDeclarationProps>,
854
+ newProps: Partial<ExportNamedDeclarationProps>,
771
855
  ) => DetachedNode<ExportNamedDeclaration>) &
772
856
  ((
773
857
  node: ?ExportNamedDeclaration,
774
- newProps: $Partial<ExportNamedDeclarationProps>,
858
+ newProps: Partial<ExportNamedDeclarationProps>,
775
859
  ) => DetachedNode<ExportNamedDeclaration> | null);
776
860
  type ExportSpecifierCloneSignature = ((
777
861
  node: ExportSpecifier,
778
- newProps: $Partial<ExportSpecifierProps>,
862
+ newProps: Partial<ExportSpecifierProps>,
779
863
  ) => DetachedNode<ExportSpecifier>) &
780
864
  ((
781
865
  node: ?ExportSpecifier,
782
- newProps: $Partial<ExportSpecifierProps>,
866
+ newProps: Partial<ExportSpecifierProps>,
783
867
  ) => DetachedNode<ExportSpecifier> | null);
784
868
  type ExpressionStatementCloneSignature = ((
785
869
  node: ExpressionStatement,
786
- newProps: $Partial<ExpressionStatementProps>,
870
+ newProps: Partial<ExpressionStatementProps>,
787
871
  ) => DetachedNode<ExpressionStatement>) &
788
872
  ((
789
873
  node: ?ExpressionStatement,
790
- newProps: $Partial<ExpressionStatementProps>,
874
+ newProps: Partial<ExpressionStatementProps>,
791
875
  ) => DetachedNode<ExpressionStatement> | null);
792
876
  type ForInStatementCloneSignature = ((
793
877
  node: ForInStatement,
794
- newProps: $Partial<ForInStatementProps>,
878
+ newProps: Partial<ForInStatementProps>,
795
879
  ) => DetachedNode<ForInStatement>) &
796
880
  ((
797
881
  node: ?ForInStatement,
798
- newProps: $Partial<ForInStatementProps>,
882
+ newProps: Partial<ForInStatementProps>,
799
883
  ) => DetachedNode<ForInStatement> | null);
800
884
  type ForOfStatementCloneSignature = ((
801
885
  node: ForOfStatement,
802
- newProps: $Partial<ForOfStatementProps>,
886
+ newProps: Partial<ForOfStatementProps>,
803
887
  ) => DetachedNode<ForOfStatement>) &
804
888
  ((
805
889
  node: ?ForOfStatement,
806
- newProps: $Partial<ForOfStatementProps>,
890
+ newProps: Partial<ForOfStatementProps>,
807
891
  ) => DetachedNode<ForOfStatement> | null);
808
892
  type ForStatementCloneSignature = ((
809
893
  node: ForStatement,
810
- newProps: $Partial<ForStatementProps>,
894
+ newProps: Partial<ForStatementProps>,
811
895
  ) => DetachedNode<ForStatement>) &
812
896
  ((
813
897
  node: ?ForStatement,
814
- newProps: $Partial<ForStatementProps>,
898
+ newProps: Partial<ForStatementProps>,
815
899
  ) => DetachedNode<ForStatement> | null);
816
900
  type FunctionDeclarationCloneSignature = ((
817
901
  node: FunctionDeclaration,
818
- newProps: $Partial<FunctionDeclarationProps>,
902
+ newProps: Partial<FunctionDeclarationProps>,
819
903
  ) => DetachedNode<FunctionDeclaration>) &
820
904
  ((
821
905
  node: ?FunctionDeclaration,
822
- newProps: $Partial<FunctionDeclarationProps>,
906
+ newProps: Partial<FunctionDeclarationProps>,
823
907
  ) => DetachedNode<FunctionDeclaration> | null);
824
908
  type FunctionExpressionCloneSignature = ((
825
909
  node: FunctionExpression,
826
- newProps: $Partial<FunctionExpressionProps>,
910
+ newProps: Partial<FunctionExpressionProps>,
827
911
  ) => DetachedNode<FunctionExpression>) &
828
912
  ((
829
913
  node: ?FunctionExpression,
830
- newProps: $Partial<FunctionExpressionProps>,
914
+ newProps: Partial<FunctionExpressionProps>,
831
915
  ) => DetachedNode<FunctionExpression> | null);
832
916
  type FunctionTypeAnnotationCloneSignature = ((
833
917
  node: FunctionTypeAnnotation,
834
- newProps: $Partial<FunctionTypeAnnotationProps>,
918
+ newProps: Partial<FunctionTypeAnnotationProps>,
835
919
  ) => DetachedNode<FunctionTypeAnnotation>) &
836
920
  ((
837
921
  node: ?FunctionTypeAnnotation,
838
- newProps: $Partial<FunctionTypeAnnotationProps>,
922
+ newProps: Partial<FunctionTypeAnnotationProps>,
839
923
  ) => DetachedNode<FunctionTypeAnnotation> | null);
840
924
  type FunctionTypeParamCloneSignature = ((
841
925
  node: FunctionTypeParam,
842
- newProps: $Partial<FunctionTypeParamProps>,
926
+ newProps: Partial<FunctionTypeParamProps>,
843
927
  ) => DetachedNode<FunctionTypeParam>) &
844
928
  ((
845
929
  node: ?FunctionTypeParam,
846
- newProps: $Partial<FunctionTypeParamProps>,
930
+ newProps: Partial<FunctionTypeParamProps>,
847
931
  ) => DetachedNode<FunctionTypeParam> | null);
848
932
  type GenericTypeAnnotationCloneSignature = ((
849
933
  node: GenericTypeAnnotation,
850
- newProps: $Partial<GenericTypeAnnotationProps>,
934
+ newProps: Partial<GenericTypeAnnotationProps>,
851
935
  ) => DetachedNode<GenericTypeAnnotation>) &
852
936
  ((
853
937
  node: ?GenericTypeAnnotation,
854
- newProps: $Partial<GenericTypeAnnotationProps>,
938
+ newProps: Partial<GenericTypeAnnotationProps>,
855
939
  ) => DetachedNode<GenericTypeAnnotation> | null);
856
940
  type IdentifierCloneSignature = ((
857
941
  node: Identifier,
858
- newProps: $Partial<IdentifierProps>,
942
+ newProps: Partial<IdentifierProps>,
859
943
  ) => DetachedNode<Identifier>) &
860
944
  ((
861
945
  node: ?Identifier,
862
- newProps: $Partial<IdentifierProps>,
946
+ newProps: Partial<IdentifierProps>,
863
947
  ) => DetachedNode<Identifier> | null);
864
948
  type IfStatementCloneSignature = ((
865
949
  node: IfStatement,
866
- newProps: $Partial<IfStatementProps>,
950
+ newProps: Partial<IfStatementProps>,
867
951
  ) => DetachedNode<IfStatement>) &
868
952
  ((
869
953
  node: ?IfStatement,
870
- newProps: $Partial<IfStatementProps>,
954
+ newProps: Partial<IfStatementProps>,
871
955
  ) => DetachedNode<IfStatement> | null);
872
956
  type ImportAttributeCloneSignature = ((
873
957
  node: ImportAttribute,
874
- newProps: $Partial<ImportAttributeProps>,
958
+ newProps: Partial<ImportAttributeProps>,
875
959
  ) => DetachedNode<ImportAttribute>) &
876
960
  ((
877
961
  node: ?ImportAttribute,
878
- newProps: $Partial<ImportAttributeProps>,
962
+ newProps: Partial<ImportAttributeProps>,
879
963
  ) => DetachedNode<ImportAttribute> | null);
880
964
  type ImportDeclarationCloneSignature = ((
881
965
  node: ImportDeclaration,
882
- newProps: $Partial<ImportDeclarationProps>,
966
+ newProps: Partial<ImportDeclarationProps>,
883
967
  ) => DetachedNode<ImportDeclaration>) &
884
968
  ((
885
969
  node: ?ImportDeclaration,
886
- newProps: $Partial<ImportDeclarationProps>,
970
+ newProps: Partial<ImportDeclarationProps>,
887
971
  ) => DetachedNode<ImportDeclaration> | null);
888
972
  type ImportDefaultSpecifierCloneSignature = ((
889
973
  node: ImportDefaultSpecifier,
890
- newProps: $Partial<ImportDefaultSpecifierProps>,
974
+ newProps: Partial<ImportDefaultSpecifierProps>,
891
975
  ) => DetachedNode<ImportDefaultSpecifier>) &
892
976
  ((
893
977
  node: ?ImportDefaultSpecifier,
894
- newProps: $Partial<ImportDefaultSpecifierProps>,
978
+ newProps: Partial<ImportDefaultSpecifierProps>,
895
979
  ) => DetachedNode<ImportDefaultSpecifier> | null);
896
980
  type ImportExpressionCloneSignature = ((
897
981
  node: ImportExpression,
898
- newProps: $Partial<ImportExpressionProps>,
982
+ newProps: Partial<ImportExpressionProps>,
899
983
  ) => DetachedNode<ImportExpression>) &
900
984
  ((
901
985
  node: ?ImportExpression,
902
- newProps: $Partial<ImportExpressionProps>,
986
+ newProps: Partial<ImportExpressionProps>,
903
987
  ) => DetachedNode<ImportExpression> | null);
904
988
  type ImportNamespaceSpecifierCloneSignature = ((
905
989
  node: ImportNamespaceSpecifier,
906
- newProps: $Partial<ImportNamespaceSpecifierProps>,
990
+ newProps: Partial<ImportNamespaceSpecifierProps>,
907
991
  ) => DetachedNode<ImportNamespaceSpecifier>) &
908
992
  ((
909
993
  node: ?ImportNamespaceSpecifier,
910
- newProps: $Partial<ImportNamespaceSpecifierProps>,
994
+ newProps: Partial<ImportNamespaceSpecifierProps>,
911
995
  ) => DetachedNode<ImportNamespaceSpecifier> | null);
912
996
  type ImportSpecifierCloneSignature = ((
913
997
  node: ImportSpecifier,
914
- newProps: $Partial<ImportSpecifierProps>,
998
+ newProps: Partial<ImportSpecifierProps>,
915
999
  ) => DetachedNode<ImportSpecifier>) &
916
1000
  ((
917
1001
  node: ?ImportSpecifier,
918
- newProps: $Partial<ImportSpecifierProps>,
1002
+ newProps: Partial<ImportSpecifierProps>,
919
1003
  ) => DetachedNode<ImportSpecifier> | null);
920
1004
  type IndexedAccessTypeCloneSignature = ((
921
1005
  node: IndexedAccessType,
922
- newProps: $Partial<IndexedAccessTypeProps>,
1006
+ newProps: Partial<IndexedAccessTypeProps>,
923
1007
  ) => DetachedNode<IndexedAccessType>) &
924
1008
  ((
925
1009
  node: ?IndexedAccessType,
926
- newProps: $Partial<IndexedAccessTypeProps>,
1010
+ newProps: Partial<IndexedAccessTypeProps>,
927
1011
  ) => DetachedNode<IndexedAccessType> | null);
928
1012
  type InferredPredicateCloneSignature = ((
929
1013
  node: InferredPredicate,
930
- newProps: $Partial<InferredPredicateProps>,
1014
+ newProps: Partial<InferredPredicateProps>,
931
1015
  ) => DetachedNode<InferredPredicate>) &
932
1016
  ((
933
1017
  node: ?InferredPredicate,
934
- newProps: $Partial<InferredPredicateProps>,
1018
+ newProps: Partial<InferredPredicateProps>,
935
1019
  ) => DetachedNode<InferredPredicate> | null);
1020
+ type InferTypeAnnotationCloneSignature = ((
1021
+ node: InferTypeAnnotation,
1022
+ newProps: Partial<InferTypeAnnotationProps>,
1023
+ ) => DetachedNode<InferTypeAnnotation>) &
1024
+ ((
1025
+ node: ?InferTypeAnnotation,
1026
+ newProps: Partial<InferTypeAnnotationProps>,
1027
+ ) => DetachedNode<InferTypeAnnotation> | null);
936
1028
  type InterfaceDeclarationCloneSignature = ((
937
1029
  node: InterfaceDeclaration,
938
- newProps: $Partial<InterfaceDeclarationProps>,
1030
+ newProps: Partial<InterfaceDeclarationProps>,
939
1031
  ) => DetachedNode<InterfaceDeclaration>) &
940
1032
  ((
941
1033
  node: ?InterfaceDeclaration,
942
- newProps: $Partial<InterfaceDeclarationProps>,
1034
+ newProps: Partial<InterfaceDeclarationProps>,
943
1035
  ) => DetachedNode<InterfaceDeclaration> | null);
944
1036
  type InterfaceExtendsCloneSignature = ((
945
1037
  node: InterfaceExtends,
946
- newProps: $Partial<InterfaceExtendsProps>,
1038
+ newProps: Partial<InterfaceExtendsProps>,
947
1039
  ) => DetachedNode<InterfaceExtends>) &
948
1040
  ((
949
1041
  node: ?InterfaceExtends,
950
- newProps: $Partial<InterfaceExtendsProps>,
1042
+ newProps: Partial<InterfaceExtendsProps>,
951
1043
  ) => DetachedNode<InterfaceExtends> | null);
952
1044
  type InterfaceTypeAnnotationCloneSignature = ((
953
1045
  node: InterfaceTypeAnnotation,
954
- newProps: $Partial<InterfaceTypeAnnotationProps>,
1046
+ newProps: Partial<InterfaceTypeAnnotationProps>,
955
1047
  ) => DetachedNode<InterfaceTypeAnnotation>) &
956
1048
  ((
957
1049
  node: ?InterfaceTypeAnnotation,
958
- newProps: $Partial<InterfaceTypeAnnotationProps>,
1050
+ newProps: Partial<InterfaceTypeAnnotationProps>,
959
1051
  ) => DetachedNode<InterfaceTypeAnnotation> | null);
960
1052
  type IntersectionTypeAnnotationCloneSignature = ((
961
1053
  node: IntersectionTypeAnnotation,
962
- newProps: $Partial<IntersectionTypeAnnotationProps>,
1054
+ newProps: Partial<IntersectionTypeAnnotationProps>,
963
1055
  ) => DetachedNode<IntersectionTypeAnnotation>) &
964
1056
  ((
965
1057
  node: ?IntersectionTypeAnnotation,
966
- newProps: $Partial<IntersectionTypeAnnotationProps>,
1058
+ newProps: Partial<IntersectionTypeAnnotationProps>,
967
1059
  ) => DetachedNode<IntersectionTypeAnnotation> | null);
968
1060
  type JSXAttributeCloneSignature = ((
969
1061
  node: JSXAttribute,
970
- newProps: $Partial<JSXAttributeProps>,
1062
+ newProps: Partial<JSXAttributeProps>,
971
1063
  ) => DetachedNode<JSXAttribute>) &
972
1064
  ((
973
1065
  node: ?JSXAttribute,
974
- newProps: $Partial<JSXAttributeProps>,
1066
+ newProps: Partial<JSXAttributeProps>,
975
1067
  ) => DetachedNode<JSXAttribute> | null);
976
1068
  type JSXClosingElementCloneSignature = ((
977
1069
  node: JSXClosingElement,
978
- newProps: $Partial<JSXClosingElementProps>,
1070
+ newProps: Partial<JSXClosingElementProps>,
979
1071
  ) => DetachedNode<JSXClosingElement>) &
980
1072
  ((
981
1073
  node: ?JSXClosingElement,
982
- newProps: $Partial<JSXClosingElementProps>,
1074
+ newProps: Partial<JSXClosingElementProps>,
983
1075
  ) => DetachedNode<JSXClosingElement> | null);
984
1076
  type JSXClosingFragmentCloneSignature = ((
985
1077
  node: JSXClosingFragment,
986
- newProps: $Partial<JSXClosingFragmentProps>,
1078
+ newProps: Partial<JSXClosingFragmentProps>,
987
1079
  ) => DetachedNode<JSXClosingFragment>) &
988
1080
  ((
989
1081
  node: ?JSXClosingFragment,
990
- newProps: $Partial<JSXClosingFragmentProps>,
1082
+ newProps: Partial<JSXClosingFragmentProps>,
991
1083
  ) => DetachedNode<JSXClosingFragment> | null);
992
1084
  type JSXElementCloneSignature = ((
993
1085
  node: JSXElement,
994
- newProps: $Partial<JSXElementProps>,
1086
+ newProps: Partial<JSXElementProps>,
995
1087
  ) => DetachedNode<JSXElement>) &
996
1088
  ((
997
1089
  node: ?JSXElement,
998
- newProps: $Partial<JSXElementProps>,
1090
+ newProps: Partial<JSXElementProps>,
999
1091
  ) => DetachedNode<JSXElement> | null);
1000
1092
  type JSXEmptyExpressionCloneSignature = ((
1001
1093
  node: JSXEmptyExpression,
1002
- newProps: $Partial<JSXEmptyExpressionProps>,
1094
+ newProps: Partial<JSXEmptyExpressionProps>,
1003
1095
  ) => DetachedNode<JSXEmptyExpression>) &
1004
1096
  ((
1005
1097
  node: ?JSXEmptyExpression,
1006
- newProps: $Partial<JSXEmptyExpressionProps>,
1098
+ newProps: Partial<JSXEmptyExpressionProps>,
1007
1099
  ) => DetachedNode<JSXEmptyExpression> | null);
1008
1100
  type JSXExpressionContainerCloneSignature = ((
1009
1101
  node: JSXExpressionContainer,
1010
- newProps: $Partial<JSXExpressionContainerProps>,
1102
+ newProps: Partial<JSXExpressionContainerProps>,
1011
1103
  ) => DetachedNode<JSXExpressionContainer>) &
1012
1104
  ((
1013
1105
  node: ?JSXExpressionContainer,
1014
- newProps: $Partial<JSXExpressionContainerProps>,
1106
+ newProps: Partial<JSXExpressionContainerProps>,
1015
1107
  ) => DetachedNode<JSXExpressionContainer> | null);
1016
1108
  type JSXFragmentCloneSignature = ((
1017
1109
  node: JSXFragment,
1018
- newProps: $Partial<JSXFragmentProps>,
1110
+ newProps: Partial<JSXFragmentProps>,
1019
1111
  ) => DetachedNode<JSXFragment>) &
1020
1112
  ((
1021
1113
  node: ?JSXFragment,
1022
- newProps: $Partial<JSXFragmentProps>,
1114
+ newProps: Partial<JSXFragmentProps>,
1023
1115
  ) => DetachedNode<JSXFragment> | null);
1024
1116
  type JSXIdentifierCloneSignature = ((
1025
1117
  node: JSXIdentifier,
1026
- newProps: $Partial<JSXIdentifierProps>,
1118
+ newProps: Partial<JSXIdentifierProps>,
1027
1119
  ) => DetachedNode<JSXIdentifier>) &
1028
1120
  ((
1029
1121
  node: ?JSXIdentifier,
1030
- newProps: $Partial<JSXIdentifierProps>,
1122
+ newProps: Partial<JSXIdentifierProps>,
1031
1123
  ) => DetachedNode<JSXIdentifier> | null);
1032
1124
  type JSXMemberExpressionCloneSignature = ((
1033
1125
  node: JSXMemberExpression,
1034
- newProps: $Partial<JSXMemberExpressionProps>,
1126
+ newProps: Partial<JSXMemberExpressionProps>,
1035
1127
  ) => DetachedNode<JSXMemberExpression>) &
1036
1128
  ((
1037
1129
  node: ?JSXMemberExpression,
1038
- newProps: $Partial<JSXMemberExpressionProps>,
1130
+ newProps: Partial<JSXMemberExpressionProps>,
1039
1131
  ) => DetachedNode<JSXMemberExpression> | null);
1040
1132
  type JSXNamespacedNameCloneSignature = ((
1041
1133
  node: JSXNamespacedName,
1042
- newProps: $Partial<JSXNamespacedNameProps>,
1134
+ newProps: Partial<JSXNamespacedNameProps>,
1043
1135
  ) => DetachedNode<JSXNamespacedName>) &
1044
1136
  ((
1045
1137
  node: ?JSXNamespacedName,
1046
- newProps: $Partial<JSXNamespacedNameProps>,
1138
+ newProps: Partial<JSXNamespacedNameProps>,
1047
1139
  ) => DetachedNode<JSXNamespacedName> | null);
1048
1140
  type JSXOpeningElementCloneSignature = ((
1049
1141
  node: JSXOpeningElement,
1050
- newProps: $Partial<JSXOpeningElementProps>,
1142
+ newProps: Partial<JSXOpeningElementProps>,
1051
1143
  ) => DetachedNode<JSXOpeningElement>) &
1052
1144
  ((
1053
1145
  node: ?JSXOpeningElement,
1054
- newProps: $Partial<JSXOpeningElementProps>,
1146
+ newProps: Partial<JSXOpeningElementProps>,
1055
1147
  ) => DetachedNode<JSXOpeningElement> | null);
1056
1148
  type JSXOpeningFragmentCloneSignature = ((
1057
1149
  node: JSXOpeningFragment,
1058
- newProps: $Partial<JSXOpeningFragmentProps>,
1150
+ newProps: Partial<JSXOpeningFragmentProps>,
1059
1151
  ) => DetachedNode<JSXOpeningFragment>) &
1060
1152
  ((
1061
1153
  node: ?JSXOpeningFragment,
1062
- newProps: $Partial<JSXOpeningFragmentProps>,
1154
+ newProps: Partial<JSXOpeningFragmentProps>,
1063
1155
  ) => DetachedNode<JSXOpeningFragment> | null);
1064
1156
  type JSXSpreadAttributeCloneSignature = ((
1065
1157
  node: JSXSpreadAttribute,
1066
- newProps: $Partial<JSXSpreadAttributeProps>,
1158
+ newProps: Partial<JSXSpreadAttributeProps>,
1067
1159
  ) => DetachedNode<JSXSpreadAttribute>) &
1068
1160
  ((
1069
1161
  node: ?JSXSpreadAttribute,
1070
- newProps: $Partial<JSXSpreadAttributeProps>,
1162
+ newProps: Partial<JSXSpreadAttributeProps>,
1071
1163
  ) => DetachedNode<JSXSpreadAttribute> | null);
1072
1164
  type JSXSpreadChildCloneSignature = ((
1073
1165
  node: JSXSpreadChild,
1074
- newProps: $Partial<JSXSpreadChildProps>,
1166
+ newProps: Partial<JSXSpreadChildProps>,
1075
1167
  ) => DetachedNode<JSXSpreadChild>) &
1076
1168
  ((
1077
1169
  node: ?JSXSpreadChild,
1078
- newProps: $Partial<JSXSpreadChildProps>,
1170
+ newProps: Partial<JSXSpreadChildProps>,
1079
1171
  ) => DetachedNode<JSXSpreadChild> | null);
1080
1172
  type JSXTextCloneSignature = ((
1081
1173
  node: JSXText,
1082
- newProps: $Partial<JSXTextProps>,
1174
+ newProps: Partial<JSXTextProps>,
1083
1175
  ) => DetachedNode<JSXText>) &
1084
1176
  ((
1085
1177
  node: ?JSXText,
1086
- newProps: $Partial<JSXTextProps>,
1178
+ newProps: Partial<JSXTextProps>,
1087
1179
  ) => DetachedNode<JSXText> | null);
1180
+ type KeyofTypeAnnotationCloneSignature = ((
1181
+ node: KeyofTypeAnnotation,
1182
+ newProps: Partial<KeyofTypeAnnotationProps>,
1183
+ ) => DetachedNode<KeyofTypeAnnotation>) &
1184
+ ((
1185
+ node: ?KeyofTypeAnnotation,
1186
+ newProps: Partial<KeyofTypeAnnotationProps>,
1187
+ ) => DetachedNode<KeyofTypeAnnotation> | null);
1088
1188
  type LabeledStatementCloneSignature = ((
1089
1189
  node: LabeledStatement,
1090
- newProps: $Partial<LabeledStatementProps>,
1190
+ newProps: Partial<LabeledStatementProps>,
1091
1191
  ) => DetachedNode<LabeledStatement>) &
1092
1192
  ((
1093
1193
  node: ?LabeledStatement,
1094
- newProps: $Partial<LabeledStatementProps>,
1194
+ newProps: Partial<LabeledStatementProps>,
1095
1195
  ) => DetachedNode<LabeledStatement> | null);
1096
1196
  type LogicalExpressionCloneSignature = ((
1097
1197
  node: LogicalExpression,
1098
- newProps: $Partial<LogicalExpressionProps>,
1198
+ newProps: Partial<LogicalExpressionProps>,
1099
1199
  ) => DetachedNode<LogicalExpression>) &
1100
1200
  ((
1101
1201
  node: ?LogicalExpression,
1102
- newProps: $Partial<LogicalExpressionProps>,
1202
+ newProps: Partial<LogicalExpressionProps>,
1103
1203
  ) => DetachedNode<LogicalExpression> | null);
1104
1204
  type MemberExpressionCloneSignature = ((
1105
1205
  node: MemberExpression,
1106
- newProps: $Partial<MemberExpressionProps>,
1206
+ newProps: Partial<MemberExpressionProps>,
1107
1207
  ) => DetachedNode<MemberExpression>) &
1108
1208
  ((
1109
1209
  node: ?MemberExpression,
1110
- newProps: $Partial<MemberExpressionProps>,
1210
+ newProps: Partial<MemberExpressionProps>,
1111
1211
  ) => DetachedNode<MemberExpression> | null);
1112
1212
  type MetaPropertyCloneSignature = ((
1113
1213
  node: MetaProperty,
1114
- newProps: $Partial<MetaPropertyProps>,
1214
+ newProps: Partial<MetaPropertyProps>,
1115
1215
  ) => DetachedNode<MetaProperty>) &
1116
1216
  ((
1117
1217
  node: ?MetaProperty,
1118
- newProps: $Partial<MetaPropertyProps>,
1218
+ newProps: Partial<MetaPropertyProps>,
1119
1219
  ) => DetachedNode<MetaProperty> | null);
1120
1220
  type MethodDefinitionCloneSignature = ((
1121
1221
  node: MethodDefinition,
1122
- newProps: $Partial<MethodDefinitionProps>,
1222
+ newProps: Partial<MethodDefinitionProps>,
1123
1223
  ) => DetachedNode<MethodDefinition>) &
1124
1224
  ((
1125
1225
  node: ?MethodDefinition,
1126
- newProps: $Partial<MethodDefinitionProps>,
1226
+ newProps: Partial<MethodDefinitionProps>,
1127
1227
  ) => DetachedNode<MethodDefinition> | null);
1128
1228
  type MixedTypeAnnotationCloneSignature = ((
1129
1229
  node: MixedTypeAnnotation,
1130
- newProps: $Partial<MixedTypeAnnotationProps>,
1230
+ newProps: Partial<MixedTypeAnnotationProps>,
1131
1231
  ) => DetachedNode<MixedTypeAnnotation>) &
1132
1232
  ((
1133
1233
  node: ?MixedTypeAnnotation,
1134
- newProps: $Partial<MixedTypeAnnotationProps>,
1234
+ newProps: Partial<MixedTypeAnnotationProps>,
1135
1235
  ) => DetachedNode<MixedTypeAnnotation> | null);
1136
1236
  type NewExpressionCloneSignature = ((
1137
1237
  node: NewExpression,
1138
- newProps: $Partial<NewExpressionProps>,
1238
+ newProps: Partial<NewExpressionProps>,
1139
1239
  ) => DetachedNode<NewExpression>) &
1140
1240
  ((
1141
1241
  node: ?NewExpression,
1142
- newProps: $Partial<NewExpressionProps>,
1242
+ newProps: Partial<NewExpressionProps>,
1143
1243
  ) => DetachedNode<NewExpression> | null);
1144
1244
  type NullableTypeAnnotationCloneSignature = ((
1145
1245
  node: NullableTypeAnnotation,
1146
- newProps: $Partial<NullableTypeAnnotationProps>,
1246
+ newProps: Partial<NullableTypeAnnotationProps>,
1147
1247
  ) => DetachedNode<NullableTypeAnnotation>) &
1148
1248
  ((
1149
1249
  node: ?NullableTypeAnnotation,
1150
- newProps: $Partial<NullableTypeAnnotationProps>,
1250
+ newProps: Partial<NullableTypeAnnotationProps>,
1151
1251
  ) => DetachedNode<NullableTypeAnnotation> | null);
1152
1252
  type NullLiteralCloneSignature = ((
1153
1253
  node: NullLiteral,
1154
- newProps: $Partial<NullLiteralProps>,
1254
+ newProps: Partial<NullLiteralProps>,
1155
1255
  ) => DetachedNode<NullLiteral>) &
1156
1256
  ((
1157
1257
  node: ?NullLiteral,
1158
- newProps: $Partial<NullLiteralProps>,
1258
+ newProps: Partial<NullLiteralProps>,
1159
1259
  ) => DetachedNode<NullLiteral> | null);
1160
1260
  type NullLiteralTypeAnnotationCloneSignature = ((
1161
1261
  node: NullLiteralTypeAnnotation,
1162
- newProps: $Partial<NullLiteralTypeAnnotationProps>,
1262
+ newProps: Partial<NullLiteralTypeAnnotationProps>,
1163
1263
  ) => DetachedNode<NullLiteralTypeAnnotation>) &
1164
1264
  ((
1165
1265
  node: ?NullLiteralTypeAnnotation,
1166
- newProps: $Partial<NullLiteralTypeAnnotationProps>,
1266
+ newProps: Partial<NullLiteralTypeAnnotationProps>,
1167
1267
  ) => DetachedNode<NullLiteralTypeAnnotation> | null);
1168
1268
  type NumberLiteralTypeAnnotationCloneSignature = ((
1169
1269
  node: NumberLiteralTypeAnnotation,
1170
- newProps: $Partial<NumberLiteralTypeAnnotationProps>,
1270
+ newProps: Partial<NumberLiteralTypeAnnotationProps>,
1171
1271
  ) => DetachedNode<NumberLiteralTypeAnnotation>) &
1172
1272
  ((
1173
1273
  node: ?NumberLiteralTypeAnnotation,
1174
- newProps: $Partial<NumberLiteralTypeAnnotationProps>,
1274
+ newProps: Partial<NumberLiteralTypeAnnotationProps>,
1175
1275
  ) => DetachedNode<NumberLiteralTypeAnnotation> | null);
1176
1276
  type NumberTypeAnnotationCloneSignature = ((
1177
1277
  node: NumberTypeAnnotation,
1178
- newProps: $Partial<NumberTypeAnnotationProps>,
1278
+ newProps: Partial<NumberTypeAnnotationProps>,
1179
1279
  ) => DetachedNode<NumberTypeAnnotation>) &
1180
1280
  ((
1181
1281
  node: ?NumberTypeAnnotation,
1182
- newProps: $Partial<NumberTypeAnnotationProps>,
1282
+ newProps: Partial<NumberTypeAnnotationProps>,
1183
1283
  ) => DetachedNode<NumberTypeAnnotation> | null);
1184
1284
  type NumericLiteralCloneSignature = ((
1185
1285
  node: NumericLiteral,
1186
- newProps: $Partial<NumericLiteralProps>,
1286
+ newProps: Partial<NumericLiteralProps>,
1187
1287
  ) => DetachedNode<NumericLiteral>) &
1188
1288
  ((
1189
1289
  node: ?NumericLiteral,
1190
- newProps: $Partial<NumericLiteralProps>,
1290
+ newProps: Partial<NumericLiteralProps>,
1191
1291
  ) => DetachedNode<NumericLiteral> | null);
1192
1292
  type ObjectExpressionCloneSignature = ((
1193
1293
  node: ObjectExpression,
1194
- newProps: $Partial<ObjectExpressionProps>,
1294
+ newProps: Partial<ObjectExpressionProps>,
1195
1295
  ) => DetachedNode<ObjectExpression>) &
1196
1296
  ((
1197
1297
  node: ?ObjectExpression,
1198
- newProps: $Partial<ObjectExpressionProps>,
1298
+ newProps: Partial<ObjectExpressionProps>,
1199
1299
  ) => DetachedNode<ObjectExpression> | null);
1200
1300
  type ObjectPatternCloneSignature = ((
1201
1301
  node: ObjectPattern,
1202
- newProps: $Partial<ObjectPatternProps>,
1302
+ newProps: Partial<ObjectPatternProps>,
1203
1303
  ) => DetachedNode<ObjectPattern>) &
1204
1304
  ((
1205
1305
  node: ?ObjectPattern,
1206
- newProps: $Partial<ObjectPatternProps>,
1306
+ newProps: Partial<ObjectPatternProps>,
1207
1307
  ) => DetachedNode<ObjectPattern> | null);
1208
1308
  type ObjectTypeAnnotationCloneSignature = ((
1209
1309
  node: ObjectTypeAnnotation,
1210
- newProps: $Partial<ObjectTypeAnnotationProps>,
1310
+ newProps: Partial<ObjectTypeAnnotationProps>,
1211
1311
  ) => DetachedNode<ObjectTypeAnnotation>) &
1212
1312
  ((
1213
1313
  node: ?ObjectTypeAnnotation,
1214
- newProps: $Partial<ObjectTypeAnnotationProps>,
1314
+ newProps: Partial<ObjectTypeAnnotationProps>,
1215
1315
  ) => DetachedNode<ObjectTypeAnnotation> | null);
1216
1316
  type ObjectTypeCallPropertyCloneSignature = ((
1217
1317
  node: ObjectTypeCallProperty,
1218
- newProps: $Partial<ObjectTypeCallPropertyProps>,
1318
+ newProps: Partial<ObjectTypeCallPropertyProps>,
1219
1319
  ) => DetachedNode<ObjectTypeCallProperty>) &
1220
1320
  ((
1221
1321
  node: ?ObjectTypeCallProperty,
1222
- newProps: $Partial<ObjectTypeCallPropertyProps>,
1322
+ newProps: Partial<ObjectTypeCallPropertyProps>,
1223
1323
  ) => DetachedNode<ObjectTypeCallProperty> | null);
1224
1324
  type ObjectTypeIndexerCloneSignature = ((
1225
1325
  node: ObjectTypeIndexer,
1226
- newProps: $Partial<ObjectTypeIndexerProps>,
1326
+ newProps: Partial<ObjectTypeIndexerProps>,
1227
1327
  ) => DetachedNode<ObjectTypeIndexer>) &
1228
1328
  ((
1229
1329
  node: ?ObjectTypeIndexer,
1230
- newProps: $Partial<ObjectTypeIndexerProps>,
1330
+ newProps: Partial<ObjectTypeIndexerProps>,
1231
1331
  ) => DetachedNode<ObjectTypeIndexer> | null);
1232
1332
  type ObjectTypeInternalSlotCloneSignature = ((
1233
1333
  node: ObjectTypeInternalSlot,
1234
- newProps: $Partial<ObjectTypeInternalSlotProps>,
1334
+ newProps: Partial<ObjectTypeInternalSlotProps>,
1235
1335
  ) => DetachedNode<ObjectTypeInternalSlot>) &
1236
1336
  ((
1237
1337
  node: ?ObjectTypeInternalSlot,
1238
- newProps: $Partial<ObjectTypeInternalSlotProps>,
1338
+ newProps: Partial<ObjectTypeInternalSlotProps>,
1239
1339
  ) => DetachedNode<ObjectTypeInternalSlot> | null);
1340
+ type ObjectTypeMappedTypePropertyCloneSignature = ((
1341
+ node: ObjectTypeMappedTypeProperty,
1342
+ newProps: Partial<ObjectTypeMappedTypePropertyProps>,
1343
+ ) => DetachedNode<ObjectTypeMappedTypeProperty>) &
1344
+ ((
1345
+ node: ?ObjectTypeMappedTypeProperty,
1346
+ newProps: Partial<ObjectTypeMappedTypePropertyProps>,
1347
+ ) => DetachedNode<ObjectTypeMappedTypeProperty> | null);
1240
1348
  type ObjectTypePropertyCloneSignature = ((
1241
1349
  node: ObjectTypeProperty,
1242
- newProps: $Partial<ObjectTypePropertyProps>,
1350
+ newProps: Partial<ObjectTypePropertyProps>,
1243
1351
  ) => DetachedNode<ObjectTypeProperty>) &
1244
1352
  ((
1245
1353
  node: ?ObjectTypeProperty,
1246
- newProps: $Partial<ObjectTypePropertyProps>,
1354
+ newProps: Partial<ObjectTypePropertyProps>,
1247
1355
  ) => DetachedNode<ObjectTypeProperty> | null);
1248
1356
  type ObjectTypeSpreadPropertyCloneSignature = ((
1249
1357
  node: ObjectTypeSpreadProperty,
1250
- newProps: $Partial<ObjectTypeSpreadPropertyProps>,
1358
+ newProps: Partial<ObjectTypeSpreadPropertyProps>,
1251
1359
  ) => DetachedNode<ObjectTypeSpreadProperty>) &
1252
1360
  ((
1253
1361
  node: ?ObjectTypeSpreadProperty,
1254
- newProps: $Partial<ObjectTypeSpreadPropertyProps>,
1362
+ newProps: Partial<ObjectTypeSpreadPropertyProps>,
1255
1363
  ) => DetachedNode<ObjectTypeSpreadProperty> | null);
1256
1364
  type OpaqueTypeCloneSignature = ((
1257
1365
  node: OpaqueType,
1258
- newProps: $Partial<OpaqueTypeProps>,
1366
+ newProps: Partial<OpaqueTypeProps>,
1259
1367
  ) => DetachedNode<OpaqueType>) &
1260
1368
  ((
1261
1369
  node: ?OpaqueType,
1262
- newProps: $Partial<OpaqueTypeProps>,
1370
+ newProps: Partial<OpaqueTypeProps>,
1263
1371
  ) => DetachedNode<OpaqueType> | null);
1264
1372
  type OptionalIndexedAccessTypeCloneSignature = ((
1265
1373
  node: OptionalIndexedAccessType,
1266
- newProps: $Partial<OptionalIndexedAccessTypeProps>,
1374
+ newProps: Partial<OptionalIndexedAccessTypeProps>,
1267
1375
  ) => DetachedNode<OptionalIndexedAccessType>) &
1268
1376
  ((
1269
1377
  node: ?OptionalIndexedAccessType,
1270
- newProps: $Partial<OptionalIndexedAccessTypeProps>,
1378
+ newProps: Partial<OptionalIndexedAccessTypeProps>,
1271
1379
  ) => DetachedNode<OptionalIndexedAccessType> | null);
1272
1380
  type PrivateIdentifierCloneSignature = ((
1273
1381
  node: PrivateIdentifier,
1274
- newProps: $Partial<PrivateIdentifierProps>,
1382
+ newProps: Partial<PrivateIdentifierProps>,
1275
1383
  ) => DetachedNode<PrivateIdentifier>) &
1276
1384
  ((
1277
1385
  node: ?PrivateIdentifier,
1278
- newProps: $Partial<PrivateIdentifierProps>,
1386
+ newProps: Partial<PrivateIdentifierProps>,
1279
1387
  ) => DetachedNode<PrivateIdentifier> | null);
1280
1388
  type PropertyCloneSignature = ((
1281
1389
  node: Property,
1282
- newProps: $Partial<PropertyProps>,
1390
+ newProps: Partial<PropertyProps>,
1283
1391
  ) => DetachedNode<Property>) &
1284
1392
  ((
1285
1393
  node: ?Property,
1286
- newProps: $Partial<PropertyProps>,
1394
+ newProps: Partial<PropertyProps>,
1287
1395
  ) => DetachedNode<Property> | null);
1288
1396
  type PropertyDefinitionCloneSignature = ((
1289
1397
  node: PropertyDefinition,
1290
- newProps: $Partial<PropertyDefinitionProps>,
1398
+ newProps: Partial<PropertyDefinitionProps>,
1291
1399
  ) => DetachedNode<PropertyDefinition>) &
1292
1400
  ((
1293
1401
  node: ?PropertyDefinition,
1294
- newProps: $Partial<PropertyDefinitionProps>,
1402
+ newProps: Partial<PropertyDefinitionProps>,
1295
1403
  ) => DetachedNode<PropertyDefinition> | null);
1296
1404
  type QualifiedTypeIdentifierCloneSignature = ((
1297
1405
  node: QualifiedTypeIdentifier,
1298
- newProps: $Partial<QualifiedTypeIdentifierProps>,
1406
+ newProps: Partial<QualifiedTypeIdentifierProps>,
1299
1407
  ) => DetachedNode<QualifiedTypeIdentifier>) &
1300
1408
  ((
1301
1409
  node: ?QualifiedTypeIdentifier,
1302
- newProps: $Partial<QualifiedTypeIdentifierProps>,
1410
+ newProps: Partial<QualifiedTypeIdentifierProps>,
1303
1411
  ) => DetachedNode<QualifiedTypeIdentifier> | null);
1412
+ type QualifiedTypeofIdentifierCloneSignature = ((
1413
+ node: QualifiedTypeofIdentifier,
1414
+ newProps: Partial<QualifiedTypeofIdentifierProps>,
1415
+ ) => DetachedNode<QualifiedTypeofIdentifier>) &
1416
+ ((
1417
+ node: ?QualifiedTypeofIdentifier,
1418
+ newProps: Partial<QualifiedTypeofIdentifierProps>,
1419
+ ) => DetachedNode<QualifiedTypeofIdentifier> | null);
1304
1420
  type RegExpLiteralCloneSignature = ((
1305
1421
  node: RegExpLiteral,
1306
- newProps: $Partial<RegExpLiteralProps>,
1422
+ newProps: Partial<RegExpLiteralProps>,
1307
1423
  ) => DetachedNode<RegExpLiteral>) &
1308
1424
  ((
1309
1425
  node: ?RegExpLiteral,
1310
- newProps: $Partial<RegExpLiteralProps>,
1426
+ newProps: Partial<RegExpLiteralProps>,
1311
1427
  ) => DetachedNode<RegExpLiteral> | null);
1312
1428
  type RestElementCloneSignature = ((
1313
1429
  node: RestElement,
1314
- newProps: $Partial<RestElementProps>,
1430
+ newProps: Partial<RestElementProps>,
1315
1431
  ) => DetachedNode<RestElement>) &
1316
1432
  ((
1317
1433
  node: ?RestElement,
1318
- newProps: $Partial<RestElementProps>,
1434
+ newProps: Partial<RestElementProps>,
1319
1435
  ) => DetachedNode<RestElement> | null);
1320
1436
  type ReturnStatementCloneSignature = ((
1321
1437
  node: ReturnStatement,
1322
- newProps: $Partial<ReturnStatementProps>,
1438
+ newProps: Partial<ReturnStatementProps>,
1323
1439
  ) => DetachedNode<ReturnStatement>) &
1324
1440
  ((
1325
1441
  node: ?ReturnStatement,
1326
- newProps: $Partial<ReturnStatementProps>,
1442
+ newProps: Partial<ReturnStatementProps>,
1327
1443
  ) => DetachedNode<ReturnStatement> | null);
1328
1444
  type SequenceExpressionCloneSignature = ((
1329
1445
  node: SequenceExpression,
1330
- newProps: $Partial<SequenceExpressionProps>,
1446
+ newProps: Partial<SequenceExpressionProps>,
1331
1447
  ) => DetachedNode<SequenceExpression>) &
1332
1448
  ((
1333
1449
  node: ?SequenceExpression,
1334
- newProps: $Partial<SequenceExpressionProps>,
1450
+ newProps: Partial<SequenceExpressionProps>,
1335
1451
  ) => DetachedNode<SequenceExpression> | null);
1336
1452
  type SpreadElementCloneSignature = ((
1337
1453
  node: SpreadElement,
1338
- newProps: $Partial<SpreadElementProps>,
1454
+ newProps: Partial<SpreadElementProps>,
1339
1455
  ) => DetachedNode<SpreadElement>) &
1340
1456
  ((
1341
1457
  node: ?SpreadElement,
1342
- newProps: $Partial<SpreadElementProps>,
1458
+ newProps: Partial<SpreadElementProps>,
1343
1459
  ) => DetachedNode<SpreadElement> | null);
1344
1460
  type StringLiteralCloneSignature = ((
1345
1461
  node: StringLiteral,
1346
- newProps: $Partial<StringLiteralProps>,
1462
+ newProps: Partial<StringLiteralProps>,
1347
1463
  ) => DetachedNode<StringLiteral>) &
1348
1464
  ((
1349
1465
  node: ?StringLiteral,
1350
- newProps: $Partial<StringLiteralProps>,
1466
+ newProps: Partial<StringLiteralProps>,
1351
1467
  ) => DetachedNode<StringLiteral> | null);
1352
1468
  type StringLiteralTypeAnnotationCloneSignature = ((
1353
1469
  node: StringLiteralTypeAnnotation,
1354
- newProps: $Partial<StringLiteralTypeAnnotationProps>,
1470
+ newProps: Partial<StringLiteralTypeAnnotationProps>,
1355
1471
  ) => DetachedNode<StringLiteralTypeAnnotation>) &
1356
1472
  ((
1357
1473
  node: ?StringLiteralTypeAnnotation,
1358
- newProps: $Partial<StringLiteralTypeAnnotationProps>,
1474
+ newProps: Partial<StringLiteralTypeAnnotationProps>,
1359
1475
  ) => DetachedNode<StringLiteralTypeAnnotation> | null);
1360
1476
  type StringTypeAnnotationCloneSignature = ((
1361
1477
  node: StringTypeAnnotation,
1362
- newProps: $Partial<StringTypeAnnotationProps>,
1478
+ newProps: Partial<StringTypeAnnotationProps>,
1363
1479
  ) => DetachedNode<StringTypeAnnotation>) &
1364
1480
  ((
1365
1481
  node: ?StringTypeAnnotation,
1366
- newProps: $Partial<StringTypeAnnotationProps>,
1482
+ newProps: Partial<StringTypeAnnotationProps>,
1367
1483
  ) => DetachedNode<StringTypeAnnotation> | null);
1368
1484
  type SuperCloneSignature = ((
1369
1485
  node: Super,
1370
- newProps: $Partial<SuperProps>,
1486
+ newProps: Partial<SuperProps>,
1371
1487
  ) => DetachedNode<Super>) &
1372
- ((
1373
- node: ?Super,
1374
- newProps: $Partial<SuperProps>,
1375
- ) => DetachedNode<Super> | null);
1488
+ ((node: ?Super, newProps: Partial<SuperProps>) => DetachedNode<Super> | null);
1376
1489
  type SwitchCaseCloneSignature = ((
1377
1490
  node: SwitchCase,
1378
- newProps: $Partial<SwitchCaseProps>,
1491
+ newProps: Partial<SwitchCaseProps>,
1379
1492
  ) => DetachedNode<SwitchCase>) &
1380
1493
  ((
1381
1494
  node: ?SwitchCase,
1382
- newProps: $Partial<SwitchCaseProps>,
1495
+ newProps: Partial<SwitchCaseProps>,
1383
1496
  ) => DetachedNode<SwitchCase> | null);
1384
1497
  type SwitchStatementCloneSignature = ((
1385
1498
  node: SwitchStatement,
1386
- newProps: $Partial<SwitchStatementProps>,
1499
+ newProps: Partial<SwitchStatementProps>,
1387
1500
  ) => DetachedNode<SwitchStatement>) &
1388
1501
  ((
1389
1502
  node: ?SwitchStatement,
1390
- newProps: $Partial<SwitchStatementProps>,
1503
+ newProps: Partial<SwitchStatementProps>,
1391
1504
  ) => DetachedNode<SwitchStatement> | null);
1392
1505
  type SymbolTypeAnnotationCloneSignature = ((
1393
1506
  node: SymbolTypeAnnotation,
1394
- newProps: $Partial<SymbolTypeAnnotationProps>,
1507
+ newProps: Partial<SymbolTypeAnnotationProps>,
1395
1508
  ) => DetachedNode<SymbolTypeAnnotation>) &
1396
1509
  ((
1397
1510
  node: ?SymbolTypeAnnotation,
1398
- newProps: $Partial<SymbolTypeAnnotationProps>,
1511
+ newProps: Partial<SymbolTypeAnnotationProps>,
1399
1512
  ) => DetachedNode<SymbolTypeAnnotation> | null);
1400
1513
  type TaggedTemplateExpressionCloneSignature = ((
1401
1514
  node: TaggedTemplateExpression,
1402
- newProps: $Partial<TaggedTemplateExpressionProps>,
1515
+ newProps: Partial<TaggedTemplateExpressionProps>,
1403
1516
  ) => DetachedNode<TaggedTemplateExpression>) &
1404
1517
  ((
1405
1518
  node: ?TaggedTemplateExpression,
1406
- newProps: $Partial<TaggedTemplateExpressionProps>,
1519
+ newProps: Partial<TaggedTemplateExpressionProps>,
1407
1520
  ) => DetachedNode<TaggedTemplateExpression> | null);
1408
1521
  type TemplateElementCloneSignature = ((
1409
1522
  node: TemplateElement,
1410
- newProps: $Partial<TemplateElementProps>,
1523
+ newProps: Partial<TemplateElementProps>,
1411
1524
  ) => DetachedNode<TemplateElement>) &
1412
1525
  ((
1413
1526
  node: ?TemplateElement,
1414
- newProps: $Partial<TemplateElementProps>,
1527
+ newProps: Partial<TemplateElementProps>,
1415
1528
  ) => DetachedNode<TemplateElement> | null);
1416
1529
  type TemplateLiteralCloneSignature = ((
1417
1530
  node: TemplateLiteral,
1418
- newProps: $Partial<TemplateLiteralProps>,
1531
+ newProps: Partial<TemplateLiteralProps>,
1419
1532
  ) => DetachedNode<TemplateLiteral>) &
1420
1533
  ((
1421
1534
  node: ?TemplateLiteral,
1422
- newProps: $Partial<TemplateLiteralProps>,
1535
+ newProps: Partial<TemplateLiteralProps>,
1423
1536
  ) => DetachedNode<TemplateLiteral> | null);
1424
1537
  type ThisExpressionCloneSignature = ((
1425
1538
  node: ThisExpression,
1426
- newProps: $Partial<ThisExpressionProps>,
1539
+ newProps: Partial<ThisExpressionProps>,
1427
1540
  ) => DetachedNode<ThisExpression>) &
1428
1541
  ((
1429
1542
  node: ?ThisExpression,
1430
- newProps: $Partial<ThisExpressionProps>,
1543
+ newProps: Partial<ThisExpressionProps>,
1431
1544
  ) => DetachedNode<ThisExpression> | null);
1432
1545
  type ThisTypeAnnotationCloneSignature = ((
1433
1546
  node: ThisTypeAnnotation,
1434
- newProps: $Partial<ThisTypeAnnotationProps>,
1547
+ newProps: Partial<ThisTypeAnnotationProps>,
1435
1548
  ) => DetachedNode<ThisTypeAnnotation>) &
1436
1549
  ((
1437
1550
  node: ?ThisTypeAnnotation,
1438
- newProps: $Partial<ThisTypeAnnotationProps>,
1551
+ newProps: Partial<ThisTypeAnnotationProps>,
1439
1552
  ) => DetachedNode<ThisTypeAnnotation> | null);
1440
1553
  type ThrowStatementCloneSignature = ((
1441
1554
  node: ThrowStatement,
1442
- newProps: $Partial<ThrowStatementProps>,
1555
+ newProps: Partial<ThrowStatementProps>,
1443
1556
  ) => DetachedNode<ThrowStatement>) &
1444
1557
  ((
1445
1558
  node: ?ThrowStatement,
1446
- newProps: $Partial<ThrowStatementProps>,
1559
+ newProps: Partial<ThrowStatementProps>,
1447
1560
  ) => DetachedNode<ThrowStatement> | null);
1448
1561
  type TryStatementCloneSignature = ((
1449
1562
  node: TryStatement,
1450
- newProps: $Partial<TryStatementProps>,
1563
+ newProps: Partial<TryStatementProps>,
1451
1564
  ) => DetachedNode<TryStatement>) &
1452
1565
  ((
1453
1566
  node: ?TryStatement,
1454
- newProps: $Partial<TryStatementProps>,
1567
+ newProps: Partial<TryStatementProps>,
1455
1568
  ) => DetachedNode<TryStatement> | null);
1456
1569
  type TupleTypeAnnotationCloneSignature = ((
1457
1570
  node: TupleTypeAnnotation,
1458
- newProps: $Partial<TupleTypeAnnotationProps>,
1571
+ newProps: Partial<TupleTypeAnnotationProps>,
1459
1572
  ) => DetachedNode<TupleTypeAnnotation>) &
1460
1573
  ((
1461
1574
  node: ?TupleTypeAnnotation,
1462
- newProps: $Partial<TupleTypeAnnotationProps>,
1575
+ newProps: Partial<TupleTypeAnnotationProps>,
1463
1576
  ) => DetachedNode<TupleTypeAnnotation> | null);
1577
+ type TupleTypeLabeledElementCloneSignature = ((
1578
+ node: TupleTypeLabeledElement,
1579
+ newProps: Partial<TupleTypeLabeledElementProps>,
1580
+ ) => DetachedNode<TupleTypeLabeledElement>) &
1581
+ ((
1582
+ node: ?TupleTypeLabeledElement,
1583
+ newProps: Partial<TupleTypeLabeledElementProps>,
1584
+ ) => DetachedNode<TupleTypeLabeledElement> | null);
1585
+ type TupleTypeSpreadElementCloneSignature = ((
1586
+ node: TupleTypeSpreadElement,
1587
+ newProps: Partial<TupleTypeSpreadElementProps>,
1588
+ ) => DetachedNode<TupleTypeSpreadElement>) &
1589
+ ((
1590
+ node: ?TupleTypeSpreadElement,
1591
+ newProps: Partial<TupleTypeSpreadElementProps>,
1592
+ ) => DetachedNode<TupleTypeSpreadElement> | null);
1464
1593
  type TypeAliasCloneSignature = ((
1465
1594
  node: TypeAlias,
1466
- newProps: $Partial<TypeAliasProps>,
1595
+ newProps: Partial<TypeAliasProps>,
1467
1596
  ) => DetachedNode<TypeAlias>) &
1468
1597
  ((
1469
1598
  node: ?TypeAlias,
1470
- newProps: $Partial<TypeAliasProps>,
1599
+ newProps: Partial<TypeAliasProps>,
1471
1600
  ) => DetachedNode<TypeAlias> | null);
1472
1601
  type TypeAnnotationCloneSignature = ((
1473
1602
  node: TypeAnnotation,
1474
- newProps: $Partial<TypeAnnotationProps>,
1603
+ newProps: Partial<TypeAnnotationProps>,
1475
1604
  ) => DetachedNode<TypeAnnotation>) &
1476
1605
  ((
1477
1606
  node: ?TypeAnnotation,
1478
- newProps: $Partial<TypeAnnotationProps>,
1607
+ newProps: Partial<TypeAnnotationProps>,
1479
1608
  ) => DetachedNode<TypeAnnotation> | null);
1480
1609
  type TypeCastExpressionCloneSignature = ((
1481
1610
  node: TypeCastExpression,
1482
- newProps: $Partial<TypeCastExpressionProps>,
1611
+ newProps: Partial<TypeCastExpressionProps>,
1483
1612
  ) => DetachedNode<TypeCastExpression>) &
1484
1613
  ((
1485
1614
  node: ?TypeCastExpression,
1486
- newProps: $Partial<TypeCastExpressionProps>,
1615
+ newProps: Partial<TypeCastExpressionProps>,
1487
1616
  ) => DetachedNode<TypeCastExpression> | null);
1488
1617
  type TypeofTypeAnnotationCloneSignature = ((
1489
1618
  node: TypeofTypeAnnotation,
1490
- newProps: $Partial<TypeofTypeAnnotationProps>,
1619
+ newProps: Partial<TypeofTypeAnnotationProps>,
1491
1620
  ) => DetachedNode<TypeofTypeAnnotation>) &
1492
1621
  ((
1493
1622
  node: ?TypeofTypeAnnotation,
1494
- newProps: $Partial<TypeofTypeAnnotationProps>,
1623
+ newProps: Partial<TypeofTypeAnnotationProps>,
1495
1624
  ) => DetachedNode<TypeofTypeAnnotation> | null);
1496
1625
  type TypeParameterCloneSignature = ((
1497
1626
  node: TypeParameter,
1498
- newProps: $Partial<TypeParameterProps>,
1627
+ newProps: Partial<TypeParameterProps>,
1499
1628
  ) => DetachedNode<TypeParameter>) &
1500
1629
  ((
1501
1630
  node: ?TypeParameter,
1502
- newProps: $Partial<TypeParameterProps>,
1631
+ newProps: Partial<TypeParameterProps>,
1503
1632
  ) => DetachedNode<TypeParameter> | null);
1504
1633
  type TypeParameterDeclarationCloneSignature = ((
1505
1634
  node: TypeParameterDeclaration,
1506
- newProps: $Partial<TypeParameterDeclarationProps>,
1635
+ newProps: Partial<TypeParameterDeclarationProps>,
1507
1636
  ) => DetachedNode<TypeParameterDeclaration>) &
1508
1637
  ((
1509
1638
  node: ?TypeParameterDeclaration,
1510
- newProps: $Partial<TypeParameterDeclarationProps>,
1639
+ newProps: Partial<TypeParameterDeclarationProps>,
1511
1640
  ) => DetachedNode<TypeParameterDeclaration> | null);
1512
1641
  type TypeParameterInstantiationCloneSignature = ((
1513
1642
  node: TypeParameterInstantiation,
1514
- newProps: $Partial<TypeParameterInstantiationProps>,
1643
+ newProps: Partial<TypeParameterInstantiationProps>,
1515
1644
  ) => DetachedNode<TypeParameterInstantiation>) &
1516
1645
  ((
1517
1646
  node: ?TypeParameterInstantiation,
1518
- newProps: $Partial<TypeParameterInstantiationProps>,
1647
+ newProps: Partial<TypeParameterInstantiationProps>,
1519
1648
  ) => DetachedNode<TypeParameterInstantiation> | null);
1649
+ type TypePredicateCloneSignature = ((
1650
+ node: TypePredicate,
1651
+ newProps: Partial<TypePredicateProps>,
1652
+ ) => DetachedNode<TypePredicate>) &
1653
+ ((
1654
+ node: ?TypePredicate,
1655
+ newProps: Partial<TypePredicateProps>,
1656
+ ) => DetachedNode<TypePredicate> | null);
1520
1657
  type UnaryExpressionCloneSignature = ((
1521
1658
  node: UnaryExpression,
1522
- newProps: $Partial<UnaryExpressionProps>,
1659
+ newProps: Partial<UnaryExpressionProps>,
1523
1660
  ) => DetachedNode<UnaryExpression>) &
1524
1661
  ((
1525
1662
  node: ?UnaryExpression,
1526
- newProps: $Partial<UnaryExpressionProps>,
1663
+ newProps: Partial<UnaryExpressionProps>,
1527
1664
  ) => DetachedNode<UnaryExpression> | null);
1528
1665
  type UnionTypeAnnotationCloneSignature = ((
1529
1666
  node: UnionTypeAnnotation,
1530
- newProps: $Partial<UnionTypeAnnotationProps>,
1667
+ newProps: Partial<UnionTypeAnnotationProps>,
1531
1668
  ) => DetachedNode<UnionTypeAnnotation>) &
1532
1669
  ((
1533
1670
  node: ?UnionTypeAnnotation,
1534
- newProps: $Partial<UnionTypeAnnotationProps>,
1671
+ newProps: Partial<UnionTypeAnnotationProps>,
1535
1672
  ) => DetachedNode<UnionTypeAnnotation> | null);
1536
1673
  type UpdateExpressionCloneSignature = ((
1537
1674
  node: UpdateExpression,
1538
- newProps: $Partial<UpdateExpressionProps>,
1675
+ newProps: Partial<UpdateExpressionProps>,
1539
1676
  ) => DetachedNode<UpdateExpression>) &
1540
1677
  ((
1541
1678
  node: ?UpdateExpression,
1542
- newProps: $Partial<UpdateExpressionProps>,
1679
+ newProps: Partial<UpdateExpressionProps>,
1543
1680
  ) => DetachedNode<UpdateExpression> | null);
1544
1681
  type VariableDeclarationCloneSignature = ((
1545
1682
  node: VariableDeclaration,
1546
- newProps: $Partial<VariableDeclarationProps>,
1683
+ newProps: Partial<VariableDeclarationProps>,
1547
1684
  ) => DetachedNode<VariableDeclaration>) &
1548
1685
  ((
1549
1686
  node: ?VariableDeclaration,
1550
- newProps: $Partial<VariableDeclarationProps>,
1687
+ newProps: Partial<VariableDeclarationProps>,
1551
1688
  ) => DetachedNode<VariableDeclaration> | null);
1552
1689
  type VariableDeclaratorCloneSignature = ((
1553
1690
  node: VariableDeclarator,
1554
- newProps: $Partial<VariableDeclaratorProps>,
1691
+ newProps: Partial<VariableDeclaratorProps>,
1555
1692
  ) => DetachedNode<VariableDeclarator>) &
1556
1693
  ((
1557
1694
  node: ?VariableDeclarator,
1558
- newProps: $Partial<VariableDeclaratorProps>,
1695
+ newProps: Partial<VariableDeclaratorProps>,
1559
1696
  ) => DetachedNode<VariableDeclarator> | null);
1560
1697
  type VarianceCloneSignature = ((
1561
1698
  node: Variance,
1562
- newProps: $Partial<VarianceProps>,
1699
+ newProps: Partial<VarianceProps>,
1563
1700
  ) => DetachedNode<Variance>) &
1564
1701
  ((
1565
1702
  node: ?Variance,
1566
- newProps: $Partial<VarianceProps>,
1703
+ newProps: Partial<VarianceProps>,
1567
1704
  ) => DetachedNode<Variance> | null);
1568
1705
  type VoidTypeAnnotationCloneSignature = ((
1569
1706
  node: VoidTypeAnnotation,
1570
- newProps: $Partial<VoidTypeAnnotationProps>,
1707
+ newProps: Partial<VoidTypeAnnotationProps>,
1571
1708
  ) => DetachedNode<VoidTypeAnnotation>) &
1572
1709
  ((
1573
1710
  node: ?VoidTypeAnnotation,
1574
- newProps: $Partial<VoidTypeAnnotationProps>,
1711
+ newProps: Partial<VoidTypeAnnotationProps>,
1575
1712
  ) => DetachedNode<VoidTypeAnnotation> | null);
1576
1713
  type WhileStatementCloneSignature = ((
1577
1714
  node: WhileStatement,
1578
- newProps: $Partial<WhileStatementProps>,
1715
+ newProps: Partial<WhileStatementProps>,
1579
1716
  ) => DetachedNode<WhileStatement>) &
1580
1717
  ((
1581
1718
  node: ?WhileStatement,
1582
- newProps: $Partial<WhileStatementProps>,
1719
+ newProps: Partial<WhileStatementProps>,
1583
1720
  ) => DetachedNode<WhileStatement> | null);
1584
1721
  type WithStatementCloneSignature = ((
1585
1722
  node: WithStatement,
1586
- newProps: $Partial<WithStatementProps>,
1723
+ newProps: Partial<WithStatementProps>,
1587
1724
  ) => DetachedNode<WithStatement>) &
1588
1725
  ((
1589
1726
  node: ?WithStatement,
1590
- newProps: $Partial<WithStatementProps>,
1727
+ newProps: Partial<WithStatementProps>,
1591
1728
  ) => DetachedNode<WithStatement> | null);
1592
1729
  type YieldExpressionCloneSignature = ((
1593
1730
  node: YieldExpression,
1594
- newProps: $Partial<YieldExpressionProps>,
1731
+ newProps: Partial<YieldExpressionProps>,
1595
1732
  ) => DetachedNode<YieldExpression>) &
1596
1733
  ((
1597
1734
  node: ?YieldExpression,
1598
- newProps: $Partial<YieldExpressionProps>,
1735
+ newProps: Partial<YieldExpressionProps>,
1599
1736
  ) => DetachedNode<YieldExpression> | null);
1600
1737
  export type TransformCloneSignatures = AnyTypeAnnotationCloneSignature &
1601
1738
  ArrayExpressionCloneSignature &
@@ -1621,11 +1758,18 @@ export type TransformCloneSignatures = AnyTypeAnnotationCloneSignature &
1621
1758
  ClassDeclarationCloneSignature &
1622
1759
  ClassExpressionCloneSignature &
1623
1760
  ClassImplementsCloneSignature &
1761
+ ComponentDeclarationCloneSignature &
1762
+ ComponentParameterCloneSignature &
1763
+ ComponentTypeAnnotationCloneSignature &
1764
+ ComponentTypeParameterCloneSignature &
1624
1765
  ConditionalExpressionCloneSignature &
1766
+ ConditionalTypeAnnotationCloneSignature &
1625
1767
  ContinueStatementCloneSignature &
1626
1768
  DebuggerStatementCloneSignature &
1627
1769
  DeclareClassCloneSignature &
1770
+ DeclareComponentCloneSignature &
1628
1771
  DeclaredPredicateCloneSignature &
1772
+ DeclareEnumCloneSignature &
1629
1773
  DeclareExportAllDeclarationCloneSignature &
1630
1774
  DeclareExportDeclarationCloneSignature &
1631
1775
  DeclareFunctionCloneSignature &
@@ -1671,6 +1815,7 @@ export type TransformCloneSignatures = AnyTypeAnnotationCloneSignature &
1671
1815
  ImportSpecifierCloneSignature &
1672
1816
  IndexedAccessTypeCloneSignature &
1673
1817
  InferredPredicateCloneSignature &
1818
+ InferTypeAnnotationCloneSignature &
1674
1819
  InterfaceDeclarationCloneSignature &
1675
1820
  InterfaceExtendsCloneSignature &
1676
1821
  InterfaceTypeAnnotationCloneSignature &
@@ -1690,6 +1835,7 @@ export type TransformCloneSignatures = AnyTypeAnnotationCloneSignature &
1690
1835
  JSXSpreadAttributeCloneSignature &
1691
1836
  JSXSpreadChildCloneSignature &
1692
1837
  JSXTextCloneSignature &
1838
+ KeyofTypeAnnotationCloneSignature &
1693
1839
  LabeledStatementCloneSignature &
1694
1840
  LogicalExpressionCloneSignature &
1695
1841
  MemberExpressionCloneSignature &
@@ -1709,6 +1855,7 @@ export type TransformCloneSignatures = AnyTypeAnnotationCloneSignature &
1709
1855
  ObjectTypeCallPropertyCloneSignature &
1710
1856
  ObjectTypeIndexerCloneSignature &
1711
1857
  ObjectTypeInternalSlotCloneSignature &
1858
+ ObjectTypeMappedTypePropertyCloneSignature &
1712
1859
  ObjectTypePropertyCloneSignature &
1713
1860
  ObjectTypeSpreadPropertyCloneSignature &
1714
1861
  OpaqueTypeCloneSignature &
@@ -1717,6 +1864,7 @@ export type TransformCloneSignatures = AnyTypeAnnotationCloneSignature &
1717
1864
  PropertyCloneSignature &
1718
1865
  PropertyDefinitionCloneSignature &
1719
1866
  QualifiedTypeIdentifierCloneSignature &
1867
+ QualifiedTypeofIdentifierCloneSignature &
1720
1868
  RegExpLiteralCloneSignature &
1721
1869
  RestElementCloneSignature &
1722
1870
  ReturnStatementCloneSignature &
@@ -1737,6 +1885,8 @@ export type TransformCloneSignatures = AnyTypeAnnotationCloneSignature &
1737
1885
  ThrowStatementCloneSignature &
1738
1886
  TryStatementCloneSignature &
1739
1887
  TupleTypeAnnotationCloneSignature &
1888
+ TupleTypeLabeledElementCloneSignature &
1889
+ TupleTypeSpreadElementCloneSignature &
1740
1890
  TypeAliasCloneSignature &
1741
1891
  TypeAnnotationCloneSignature &
1742
1892
  TypeCastExpressionCloneSignature &
@@ -1744,6 +1894,7 @@ export type TransformCloneSignatures = AnyTypeAnnotationCloneSignature &
1744
1894
  TypeParameterCloneSignature &
1745
1895
  TypeParameterDeclarationCloneSignature &
1746
1896
  TypeParameterInstantiationCloneSignature &
1897
+ TypePredicateCloneSignature &
1747
1898
  UnaryExpressionCloneSignature &
1748
1899
  UnionTypeAnnotationCloneSignature &
1749
1900
  UpdateExpressionCloneSignature &