ast-types 0.12.2 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,265 +1,1792 @@
1
+ import { Omit } from "../types";
1
2
  import { Type } from "../lib/types";
2
- import * as N from "./nodes";
3
+ import * as K from "./kinds";
4
+ export declare namespace namedTypes {
5
+ interface Printable {
6
+ loc?: K.SourceLocationKind | null;
7
+ }
8
+ interface SourceLocation {
9
+ start: K.PositionKind;
10
+ end: K.PositionKind;
11
+ source?: string | null;
12
+ }
13
+ interface Node extends Printable {
14
+ type: string;
15
+ comments?: K.CommentKind[] | null;
16
+ }
17
+ interface Comment extends Printable {
18
+ value: string;
19
+ leading?: boolean;
20
+ trailing?: boolean;
21
+ }
22
+ interface Position {
23
+ line: number;
24
+ column: number;
25
+ }
26
+ interface File extends Omit<Node, "type"> {
27
+ type: "File";
28
+ program: K.ProgramKind;
29
+ name?: string | null;
30
+ }
31
+ interface Program extends Omit<Node, "type"> {
32
+ type: "Program";
33
+ body: K.StatementKind[];
34
+ directives?: K.DirectiveKind[];
35
+ interpreter?: K.InterpreterDirectiveKind | null;
36
+ }
37
+ interface Statement extends Node {
38
+ }
39
+ interface Function extends Node {
40
+ id?: K.IdentifierKind | null;
41
+ params: K.PatternKind[];
42
+ body: K.BlockStatementKind;
43
+ generator?: boolean;
44
+ async?: boolean;
45
+ expression?: boolean;
46
+ defaults?: (K.ExpressionKind | null)[];
47
+ rest?: K.IdentifierKind | null;
48
+ returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
49
+ typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
50
+ }
51
+ interface Expression extends Node {
52
+ }
53
+ interface Pattern extends Node {
54
+ }
55
+ interface Identifier extends Omit<Expression, "type">, Omit<Pattern, "type"> {
56
+ type: "Identifier";
57
+ name: string;
58
+ optional?: boolean;
59
+ typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
60
+ }
61
+ interface BlockStatement extends Omit<Statement, "type"> {
62
+ type: "BlockStatement";
63
+ body: K.StatementKind[];
64
+ directives?: K.DirectiveKind[];
65
+ }
66
+ interface EmptyStatement extends Omit<Statement, "type"> {
67
+ type: "EmptyStatement";
68
+ }
69
+ interface ExpressionStatement extends Omit<Statement, "type"> {
70
+ type: "ExpressionStatement";
71
+ expression: K.ExpressionKind;
72
+ }
73
+ interface IfStatement extends Omit<Statement, "type"> {
74
+ type: "IfStatement";
75
+ test: K.ExpressionKind;
76
+ consequent: K.StatementKind;
77
+ alternate?: K.StatementKind | null;
78
+ }
79
+ interface LabeledStatement extends Omit<Statement, "type"> {
80
+ type: "LabeledStatement";
81
+ label: K.IdentifierKind;
82
+ body: K.StatementKind;
83
+ }
84
+ interface BreakStatement extends Omit<Statement, "type"> {
85
+ type: "BreakStatement";
86
+ label?: K.IdentifierKind | null;
87
+ }
88
+ interface ContinueStatement extends Omit<Statement, "type"> {
89
+ type: "ContinueStatement";
90
+ label?: K.IdentifierKind | null;
91
+ }
92
+ interface WithStatement extends Omit<Statement, "type"> {
93
+ type: "WithStatement";
94
+ object: K.ExpressionKind;
95
+ body: K.StatementKind;
96
+ }
97
+ interface SwitchStatement extends Omit<Statement, "type"> {
98
+ type: "SwitchStatement";
99
+ discriminant: K.ExpressionKind;
100
+ cases: K.SwitchCaseKind[];
101
+ lexical?: boolean;
102
+ }
103
+ interface SwitchCase extends Omit<Node, "type"> {
104
+ type: "SwitchCase";
105
+ test: K.ExpressionKind | null;
106
+ consequent: K.StatementKind[];
107
+ }
108
+ interface ReturnStatement extends Omit<Statement, "type"> {
109
+ type: "ReturnStatement";
110
+ argument: K.ExpressionKind | null;
111
+ }
112
+ interface ThrowStatement extends Omit<Statement, "type"> {
113
+ type: "ThrowStatement";
114
+ argument: K.ExpressionKind;
115
+ }
116
+ interface TryStatement extends Omit<Statement, "type"> {
117
+ type: "TryStatement";
118
+ block: K.BlockStatementKind;
119
+ handler?: K.CatchClauseKind | null;
120
+ handlers?: K.CatchClauseKind[];
121
+ guardedHandlers?: K.CatchClauseKind[];
122
+ finalizer?: K.BlockStatementKind | null;
123
+ }
124
+ interface CatchClause extends Omit<Node, "type"> {
125
+ type: "CatchClause";
126
+ param?: K.PatternKind | null;
127
+ guard?: K.ExpressionKind | null;
128
+ body: K.BlockStatementKind;
129
+ }
130
+ interface WhileStatement extends Omit<Statement, "type"> {
131
+ type: "WhileStatement";
132
+ test: K.ExpressionKind;
133
+ body: K.StatementKind;
134
+ }
135
+ interface DoWhileStatement extends Omit<Statement, "type"> {
136
+ type: "DoWhileStatement";
137
+ body: K.StatementKind;
138
+ test: K.ExpressionKind;
139
+ }
140
+ interface ForStatement extends Omit<Statement, "type"> {
141
+ type: "ForStatement";
142
+ init: K.VariableDeclarationKind | K.ExpressionKind | null;
143
+ test: K.ExpressionKind | null;
144
+ update: K.ExpressionKind | null;
145
+ body: K.StatementKind;
146
+ }
147
+ interface Declaration extends Statement {
148
+ }
149
+ interface VariableDeclaration extends Omit<Declaration, "type"> {
150
+ type: "VariableDeclaration";
151
+ kind: "var" | "let" | "const";
152
+ declarations: (K.VariableDeclaratorKind | K.IdentifierKind)[];
153
+ }
154
+ interface ForInStatement extends Omit<Statement, "type"> {
155
+ type: "ForInStatement";
156
+ left: K.VariableDeclarationKind | K.ExpressionKind;
157
+ right: K.ExpressionKind;
158
+ body: K.StatementKind;
159
+ }
160
+ interface DebuggerStatement extends Omit<Statement, "type"> {
161
+ type: "DebuggerStatement";
162
+ }
163
+ interface FunctionDeclaration extends Omit<Function, "type" | "id">, Omit<Declaration, "type"> {
164
+ type: "FunctionDeclaration";
165
+ id: K.IdentifierKind;
166
+ }
167
+ interface FunctionExpression extends Omit<Function, "type">, Omit<Expression, "type"> {
168
+ type: "FunctionExpression";
169
+ }
170
+ interface VariableDeclarator extends Omit<Node, "type"> {
171
+ type: "VariableDeclarator";
172
+ id: K.PatternKind;
173
+ init?: K.ExpressionKind | null;
174
+ }
175
+ interface ThisExpression extends Omit<Expression, "type"> {
176
+ type: "ThisExpression";
177
+ }
178
+ interface ArrayExpression extends Omit<Expression, "type"> {
179
+ type: "ArrayExpression";
180
+ elements: (K.ExpressionKind | K.SpreadElementKind | K.RestElementKind | null)[];
181
+ }
182
+ interface ObjectExpression extends Omit<Expression, "type"> {
183
+ type: "ObjectExpression";
184
+ properties: (K.PropertyKind | K.ObjectMethodKind | K.ObjectPropertyKind | K.SpreadPropertyKind | K.SpreadElementKind)[];
185
+ }
186
+ interface Property extends Omit<Node, "type"> {
187
+ type: "Property";
188
+ kind: "init" | "get" | "set";
189
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
190
+ value: K.ExpressionKind | K.PatternKind;
191
+ method?: boolean;
192
+ shorthand?: boolean;
193
+ computed?: boolean;
194
+ decorators?: K.DecoratorKind[] | null;
195
+ }
196
+ interface Literal extends Omit<Expression, "type"> {
197
+ type: "Literal";
198
+ value: string | boolean | null | number | RegExp;
199
+ regex?: {
200
+ pattern: string;
201
+ flags: string;
202
+ } | null;
203
+ }
204
+ interface SequenceExpression extends Omit<Expression, "type"> {
205
+ type: "SequenceExpression";
206
+ expressions: K.ExpressionKind[];
207
+ }
208
+ interface UnaryExpression extends Omit<Expression, "type"> {
209
+ type: "UnaryExpression";
210
+ operator: "-" | "+" | "!" | "~" | "typeof" | "void" | "delete";
211
+ argument: K.ExpressionKind;
212
+ prefix?: boolean;
213
+ }
214
+ interface BinaryExpression extends Omit<Expression, "type"> {
215
+ type: "BinaryExpression";
216
+ operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "in" | "instanceof";
217
+ left: K.ExpressionKind;
218
+ right: K.ExpressionKind;
219
+ }
220
+ interface AssignmentExpression extends Omit<Expression, "type"> {
221
+ type: "AssignmentExpression";
222
+ operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=";
223
+ left: K.PatternKind | K.MemberExpressionKind;
224
+ right: K.ExpressionKind;
225
+ }
226
+ interface MemberExpression extends Omit<Expression, "type"> {
227
+ type: "MemberExpression";
228
+ object: K.ExpressionKind;
229
+ property: K.IdentifierKind | K.ExpressionKind;
230
+ computed?: boolean;
231
+ }
232
+ interface UpdateExpression extends Omit<Expression, "type"> {
233
+ type: "UpdateExpression";
234
+ operator: "++" | "--";
235
+ argument: K.ExpressionKind;
236
+ prefix: boolean;
237
+ }
238
+ interface LogicalExpression extends Omit<Expression, "type"> {
239
+ type: "LogicalExpression";
240
+ operator: "||" | "&&" | "??";
241
+ left: K.ExpressionKind;
242
+ right: K.ExpressionKind;
243
+ }
244
+ interface ConditionalExpression extends Omit<Expression, "type"> {
245
+ type: "ConditionalExpression";
246
+ test: K.ExpressionKind;
247
+ consequent: K.ExpressionKind;
248
+ alternate: K.ExpressionKind;
249
+ }
250
+ interface NewExpression extends Omit<Expression, "type"> {
251
+ type: "NewExpression";
252
+ callee: K.ExpressionKind;
253
+ arguments: (K.ExpressionKind | K.SpreadElementKind)[];
254
+ }
255
+ interface CallExpression extends Omit<Expression, "type"> {
256
+ type: "CallExpression";
257
+ callee: K.ExpressionKind;
258
+ arguments: (K.ExpressionKind | K.SpreadElementKind)[];
259
+ }
260
+ interface RestElement extends Omit<Pattern, "type"> {
261
+ type: "RestElement";
262
+ argument: K.PatternKind;
263
+ typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
264
+ }
265
+ interface TypeAnnotation extends Omit<Node, "type"> {
266
+ type: "TypeAnnotation";
267
+ typeAnnotation: K.FlowTypeKind;
268
+ }
269
+ interface TSTypeAnnotation extends Omit<Node, "type"> {
270
+ type: "TSTypeAnnotation";
271
+ typeAnnotation: K.TSTypeKind | K.TSTypeAnnotationKind;
272
+ }
273
+ interface SpreadElementPattern extends Omit<Pattern, "type"> {
274
+ type: "SpreadElementPattern";
275
+ argument: K.PatternKind;
276
+ }
277
+ interface ArrowFunctionExpression extends Omit<Function, "type" | "id" | "body" | "generator">, Omit<Expression, "type"> {
278
+ type: "ArrowFunctionExpression";
279
+ id?: null;
280
+ body: K.BlockStatementKind | K.ExpressionKind;
281
+ generator?: false;
282
+ }
283
+ interface ForOfStatement extends Omit<Statement, "type"> {
284
+ type: "ForOfStatement";
285
+ left: K.VariableDeclarationKind | K.PatternKind;
286
+ right: K.ExpressionKind;
287
+ body: K.StatementKind;
288
+ }
289
+ interface YieldExpression extends Omit<Expression, "type"> {
290
+ type: "YieldExpression";
291
+ argument: K.ExpressionKind | null;
292
+ delegate?: boolean;
293
+ }
294
+ interface GeneratorExpression extends Omit<Expression, "type"> {
295
+ type: "GeneratorExpression";
296
+ body: K.ExpressionKind;
297
+ blocks: K.ComprehensionBlockKind[];
298
+ filter: K.ExpressionKind | null;
299
+ }
300
+ interface ComprehensionBlock extends Omit<Node, "type"> {
301
+ type: "ComprehensionBlock";
302
+ left: K.PatternKind;
303
+ right: K.ExpressionKind;
304
+ each: boolean;
305
+ }
306
+ interface ComprehensionExpression extends Omit<Expression, "type"> {
307
+ type: "ComprehensionExpression";
308
+ body: K.ExpressionKind;
309
+ blocks: K.ComprehensionBlockKind[];
310
+ filter: K.ExpressionKind | null;
311
+ }
312
+ interface ObjectProperty extends Omit<Node, "type"> {
313
+ shorthand?: boolean;
314
+ type: "ObjectProperty";
315
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
316
+ value: K.ExpressionKind | K.PatternKind;
317
+ accessibility?: K.LiteralKind | null;
318
+ computed?: boolean;
319
+ }
320
+ interface PropertyPattern extends Omit<Pattern, "type"> {
321
+ type: "PropertyPattern";
322
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
323
+ pattern: K.PatternKind;
324
+ computed?: boolean;
325
+ }
326
+ interface ObjectPattern extends Omit<Pattern, "type"> {
327
+ type: "ObjectPattern";
328
+ properties: (K.PropertyKind | K.PropertyPatternKind | K.SpreadPropertyPatternKind | K.SpreadPropertyKind | K.ObjectPropertyKind | K.RestPropertyKind)[];
329
+ typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
330
+ decorators?: K.DecoratorKind[] | null;
331
+ }
332
+ interface ArrayPattern extends Omit<Pattern, "type"> {
333
+ type: "ArrayPattern";
334
+ elements: (K.PatternKind | K.SpreadElementKind | null)[];
335
+ }
336
+ interface MethodDefinition extends Omit<Declaration, "type"> {
337
+ type: "MethodDefinition";
338
+ kind: "constructor" | "method" | "get" | "set";
339
+ key: K.ExpressionKind;
340
+ value: K.FunctionKind;
341
+ computed?: boolean;
342
+ static?: boolean;
343
+ decorators?: K.DecoratorKind[] | null;
344
+ }
345
+ interface SpreadElement extends Omit<Node, "type"> {
346
+ type: "SpreadElement";
347
+ argument: K.ExpressionKind;
348
+ }
349
+ interface AssignmentPattern extends Omit<Pattern, "type"> {
350
+ type: "AssignmentPattern";
351
+ left: K.PatternKind;
352
+ right: K.ExpressionKind;
353
+ }
354
+ interface ClassPropertyDefinition extends Omit<Declaration, "type"> {
355
+ type: "ClassPropertyDefinition";
356
+ definition: K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind;
357
+ }
358
+ interface ClassProperty extends Omit<Declaration, "type"> {
359
+ type: "ClassProperty";
360
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
361
+ computed?: boolean;
362
+ value: K.ExpressionKind | null;
363
+ static?: boolean;
364
+ typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
365
+ variance?: K.VarianceKind | "plus" | "minus" | null;
366
+ access?: "public" | "private" | "protected" | undefined;
367
+ }
368
+ interface ClassBody extends Omit<Declaration, "type"> {
369
+ type: "ClassBody";
370
+ body: (K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind | K.ClassPrivatePropertyKind | K.ClassMethodKind | K.ClassPrivateMethodKind | K.TSDeclareMethodKind | K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[];
371
+ }
372
+ interface ClassDeclaration extends Omit<Declaration, "type"> {
373
+ type: "ClassDeclaration";
374
+ id: K.IdentifierKind | null;
375
+ body: K.ClassBodyKind;
376
+ superClass?: K.ExpressionKind | null;
377
+ typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
378
+ superTypeParameters?: K.TypeParameterInstantiationKind | K.TSTypeParameterInstantiationKind | null;
379
+ implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[];
380
+ }
381
+ interface ClassExpression extends Omit<Expression, "type"> {
382
+ type: "ClassExpression";
383
+ id?: K.IdentifierKind | null;
384
+ body: K.ClassBodyKind;
385
+ superClass?: K.ExpressionKind | null;
386
+ typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
387
+ superTypeParameters?: K.TypeParameterInstantiationKind | K.TSTypeParameterInstantiationKind | null;
388
+ implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[];
389
+ }
390
+ interface Specifier extends Node {
391
+ }
392
+ interface ModuleSpecifier extends Specifier {
393
+ local?: K.IdentifierKind | null;
394
+ id?: K.IdentifierKind | null;
395
+ name?: K.IdentifierKind | null;
396
+ }
397
+ interface ImportSpecifier extends Omit<ModuleSpecifier, "type"> {
398
+ type: "ImportSpecifier";
399
+ imported: K.IdentifierKind;
400
+ }
401
+ interface ImportNamespaceSpecifier extends Omit<ModuleSpecifier, "type"> {
402
+ type: "ImportNamespaceSpecifier";
403
+ }
404
+ interface ImportDefaultSpecifier extends Omit<ModuleSpecifier, "type"> {
405
+ type: "ImportDefaultSpecifier";
406
+ }
407
+ interface ImportDeclaration extends Omit<Declaration, "type"> {
408
+ type: "ImportDeclaration";
409
+ specifiers?: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[];
410
+ source: K.LiteralKind;
411
+ importKind?: "value" | "type";
412
+ }
413
+ interface TaggedTemplateExpression extends Omit<Expression, "type"> {
414
+ type: "TaggedTemplateExpression";
415
+ tag: K.ExpressionKind;
416
+ quasi: K.TemplateLiteralKind;
417
+ }
418
+ interface TemplateLiteral extends Omit<Expression, "type"> {
419
+ type: "TemplateLiteral";
420
+ quasis: K.TemplateElementKind[];
421
+ expressions: K.ExpressionKind[];
422
+ }
423
+ interface TemplateElement extends Omit<Node, "type"> {
424
+ type: "TemplateElement";
425
+ value: {
426
+ cooked: string;
427
+ raw: string;
428
+ };
429
+ tail: boolean;
430
+ }
431
+ interface SpreadProperty extends Omit<Node, "type"> {
432
+ type: "SpreadProperty";
433
+ argument: K.ExpressionKind;
434
+ }
435
+ interface SpreadPropertyPattern extends Omit<Pattern, "type"> {
436
+ type: "SpreadPropertyPattern";
437
+ argument: K.PatternKind;
438
+ }
439
+ interface AwaitExpression extends Omit<Expression, "type"> {
440
+ type: "AwaitExpression";
441
+ argument: K.ExpressionKind | null;
442
+ all?: boolean;
443
+ }
444
+ interface JSXAttribute extends Omit<Node, "type"> {
445
+ type: "JSXAttribute";
446
+ name: K.JSXIdentifierKind | K.JSXNamespacedNameKind;
447
+ value?: K.LiteralKind | K.JSXExpressionContainerKind | null;
448
+ }
449
+ interface JSXIdentifier extends Omit<Identifier, "type" | "name"> {
450
+ type: "JSXIdentifier";
451
+ name: string;
452
+ }
453
+ interface JSXNamespacedName extends Omit<Node, "type"> {
454
+ type: "JSXNamespacedName";
455
+ namespace: K.JSXIdentifierKind;
456
+ name: K.JSXIdentifierKind;
457
+ }
458
+ interface JSXExpressionContainer extends Omit<Expression, "type"> {
459
+ type: "JSXExpressionContainer";
460
+ expression: K.ExpressionKind;
461
+ }
462
+ interface JSXMemberExpression extends Omit<MemberExpression, "type" | "object" | "property" | "computed"> {
463
+ type: "JSXMemberExpression";
464
+ object: K.JSXIdentifierKind | K.JSXMemberExpressionKind;
465
+ property: K.JSXIdentifierKind;
466
+ computed?: boolean;
467
+ }
468
+ interface JSXSpreadAttribute extends Omit<Node, "type"> {
469
+ type: "JSXSpreadAttribute";
470
+ argument: K.ExpressionKind;
471
+ }
472
+ interface JSXElement extends Omit<Expression, "type"> {
473
+ type: "JSXElement";
474
+ openingElement: K.JSXOpeningElementKind;
475
+ closingElement?: K.JSXClosingElementKind | null;
476
+ children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
477
+ name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
478
+ selfClosing?: boolean;
479
+ attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
480
+ }
481
+ interface JSXOpeningElement extends Omit<Node, "type"> {
482
+ type: "JSXOpeningElement";
483
+ name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
484
+ attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
485
+ selfClosing?: boolean;
486
+ }
487
+ interface JSXClosingElement extends Omit<Node, "type"> {
488
+ type: "JSXClosingElement";
489
+ name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
490
+ }
491
+ interface JSXFragment extends Omit<Expression, "type"> {
492
+ type: "JSXFragment";
493
+ openingElement: K.JSXOpeningFragmentKind;
494
+ closingElement: K.JSXClosingFragmentKind;
495
+ children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
496
+ }
497
+ interface JSXText extends Omit<Literal, "type" | "value"> {
498
+ type: "JSXText";
499
+ value: string;
500
+ }
501
+ interface JSXOpeningFragment extends Omit<Node, "type"> {
502
+ type: "JSXOpeningFragment";
503
+ }
504
+ interface JSXClosingFragment extends Omit<Node, "type"> {
505
+ type: "JSXClosingFragment";
506
+ }
507
+ interface JSXEmptyExpression extends Omit<Expression, "type"> {
508
+ type: "JSXEmptyExpression";
509
+ }
510
+ interface JSXSpreadChild extends Omit<Expression, "type"> {
511
+ type: "JSXSpreadChild";
512
+ expression: K.ExpressionKind;
513
+ }
514
+ interface TypeParameterDeclaration extends Omit<Node, "type"> {
515
+ type: "TypeParameterDeclaration";
516
+ params: K.TypeParameterKind[];
517
+ }
518
+ interface TSTypeParameterDeclaration extends Omit<Declaration, "type"> {
519
+ type: "TSTypeParameterDeclaration";
520
+ params: K.TSTypeParameterKind[];
521
+ }
522
+ interface TypeParameterInstantiation extends Omit<Node, "type"> {
523
+ type: "TypeParameterInstantiation";
524
+ params: K.FlowTypeKind[];
525
+ }
526
+ interface TSTypeParameterInstantiation extends Omit<Node, "type"> {
527
+ type: "TSTypeParameterInstantiation";
528
+ params: K.TSTypeKind[];
529
+ }
530
+ interface ClassImplements extends Omit<Node, "type"> {
531
+ type: "ClassImplements";
532
+ id: K.IdentifierKind;
533
+ superClass?: K.ExpressionKind | null;
534
+ typeParameters?: K.TypeParameterInstantiationKind | null;
535
+ }
536
+ interface TSType extends Node {
537
+ }
538
+ interface TSHasOptionalTypeParameterInstantiation {
539
+ typeParameters?: K.TSTypeParameterInstantiationKind | null;
540
+ }
541
+ interface TSExpressionWithTypeArguments extends Omit<TSType, "type">, TSHasOptionalTypeParameterInstantiation {
542
+ type: "TSExpressionWithTypeArguments";
543
+ expression: K.IdentifierKind | K.TSQualifiedNameKind;
544
+ }
545
+ interface Flow extends Node {
546
+ }
547
+ interface FlowType extends Flow {
548
+ }
549
+ interface AnyTypeAnnotation extends Omit<FlowType, "type"> {
550
+ type: "AnyTypeAnnotation";
551
+ }
552
+ interface EmptyTypeAnnotation extends Omit<FlowType, "type"> {
553
+ type: "EmptyTypeAnnotation";
554
+ }
555
+ interface MixedTypeAnnotation extends Omit<FlowType, "type"> {
556
+ type: "MixedTypeAnnotation";
557
+ }
558
+ interface VoidTypeAnnotation extends Omit<FlowType, "type"> {
559
+ type: "VoidTypeAnnotation";
560
+ }
561
+ interface NumberTypeAnnotation extends Omit<FlowType, "type"> {
562
+ type: "NumberTypeAnnotation";
563
+ }
564
+ interface NumberLiteralTypeAnnotation extends Omit<FlowType, "type"> {
565
+ type: "NumberLiteralTypeAnnotation";
566
+ value: number;
567
+ raw: string;
568
+ }
569
+ interface NumericLiteralTypeAnnotation extends Omit<FlowType, "type"> {
570
+ type: "NumericLiteralTypeAnnotation";
571
+ value: number;
572
+ raw: string;
573
+ }
574
+ interface StringTypeAnnotation extends Omit<FlowType, "type"> {
575
+ type: "StringTypeAnnotation";
576
+ }
577
+ interface StringLiteralTypeAnnotation extends Omit<FlowType, "type"> {
578
+ type: "StringLiteralTypeAnnotation";
579
+ value: string;
580
+ raw: string;
581
+ }
582
+ interface BooleanTypeAnnotation extends Omit<FlowType, "type"> {
583
+ type: "BooleanTypeAnnotation";
584
+ }
585
+ interface BooleanLiteralTypeAnnotation extends Omit<FlowType, "type"> {
586
+ type: "BooleanLiteralTypeAnnotation";
587
+ value: boolean;
588
+ raw: string;
589
+ }
590
+ interface NullableTypeAnnotation extends Omit<FlowType, "type"> {
591
+ type: "NullableTypeAnnotation";
592
+ typeAnnotation: K.FlowTypeKind;
593
+ }
594
+ interface NullLiteralTypeAnnotation extends Omit<FlowType, "type"> {
595
+ type: "NullLiteralTypeAnnotation";
596
+ }
597
+ interface NullTypeAnnotation extends Omit<FlowType, "type"> {
598
+ type: "NullTypeAnnotation";
599
+ }
600
+ interface ThisTypeAnnotation extends Omit<FlowType, "type"> {
601
+ type: "ThisTypeAnnotation";
602
+ }
603
+ interface ExistsTypeAnnotation extends Omit<FlowType, "type"> {
604
+ type: "ExistsTypeAnnotation";
605
+ }
606
+ interface ExistentialTypeParam extends Omit<FlowType, "type"> {
607
+ type: "ExistentialTypeParam";
608
+ }
609
+ interface FunctionTypeAnnotation extends Omit<FlowType, "type"> {
610
+ type: "FunctionTypeAnnotation";
611
+ params: K.FunctionTypeParamKind[];
612
+ returnType: K.FlowTypeKind;
613
+ rest: K.FunctionTypeParamKind | null;
614
+ typeParameters: K.TypeParameterDeclarationKind | null;
615
+ }
616
+ interface FunctionTypeParam extends Omit<Node, "type"> {
617
+ type: "FunctionTypeParam";
618
+ name: K.IdentifierKind;
619
+ typeAnnotation: K.FlowTypeKind;
620
+ optional: boolean;
621
+ }
622
+ interface ArrayTypeAnnotation extends Omit<FlowType, "type"> {
623
+ type: "ArrayTypeAnnotation";
624
+ elementType: K.FlowTypeKind;
625
+ }
626
+ interface ObjectTypeAnnotation extends Omit<FlowType, "type"> {
627
+ type: "ObjectTypeAnnotation";
628
+ properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[];
629
+ indexers?: K.ObjectTypeIndexerKind[];
630
+ callProperties?: K.ObjectTypeCallPropertyKind[];
631
+ inexact?: boolean | undefined;
632
+ exact?: boolean;
633
+ internalSlots?: K.ObjectTypeInternalSlotKind[];
634
+ }
635
+ interface ObjectTypeProperty extends Omit<Node, "type"> {
636
+ type: "ObjectTypeProperty";
637
+ key: K.LiteralKind | K.IdentifierKind;
638
+ value: K.FlowTypeKind;
639
+ optional: boolean;
640
+ variance?: K.VarianceKind | "plus" | "minus" | null;
641
+ }
642
+ interface ObjectTypeSpreadProperty extends Omit<Node, "type"> {
643
+ type: "ObjectTypeSpreadProperty";
644
+ argument: K.FlowTypeKind;
645
+ }
646
+ interface ObjectTypeIndexer extends Omit<Node, "type"> {
647
+ type: "ObjectTypeIndexer";
648
+ id: K.IdentifierKind;
649
+ key: K.FlowTypeKind;
650
+ value: K.FlowTypeKind;
651
+ variance?: K.VarianceKind | "plus" | "minus" | null;
652
+ }
653
+ interface ObjectTypeCallProperty extends Omit<Node, "type"> {
654
+ type: "ObjectTypeCallProperty";
655
+ value: K.FunctionTypeAnnotationKind;
656
+ static?: boolean;
657
+ }
658
+ interface ObjectTypeInternalSlot extends Omit<Node, "type"> {
659
+ type: "ObjectTypeInternalSlot";
660
+ id: K.IdentifierKind;
661
+ value: K.FlowTypeKind;
662
+ optional: boolean;
663
+ static: boolean;
664
+ method: boolean;
665
+ }
666
+ interface Variance extends Omit<Node, "type"> {
667
+ type: "Variance";
668
+ kind: "plus" | "minus";
669
+ }
670
+ interface QualifiedTypeIdentifier extends Omit<Node, "type"> {
671
+ type: "QualifiedTypeIdentifier";
672
+ qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
673
+ id: K.IdentifierKind;
674
+ }
675
+ interface GenericTypeAnnotation extends Omit<FlowType, "type"> {
676
+ type: "GenericTypeAnnotation";
677
+ id: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
678
+ typeParameters: K.TypeParameterInstantiationKind | null;
679
+ }
680
+ interface MemberTypeAnnotation extends Omit<FlowType, "type"> {
681
+ type: "MemberTypeAnnotation";
682
+ object: K.IdentifierKind;
683
+ property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind;
684
+ }
685
+ interface UnionTypeAnnotation extends Omit<FlowType, "type"> {
686
+ type: "UnionTypeAnnotation";
687
+ types: K.FlowTypeKind[];
688
+ }
689
+ interface IntersectionTypeAnnotation extends Omit<FlowType, "type"> {
690
+ type: "IntersectionTypeAnnotation";
691
+ types: K.FlowTypeKind[];
692
+ }
693
+ interface TypeofTypeAnnotation extends Omit<FlowType, "type"> {
694
+ type: "TypeofTypeAnnotation";
695
+ argument: K.FlowTypeKind;
696
+ }
697
+ interface TypeParameter extends Omit<FlowType, "type"> {
698
+ type: "TypeParameter";
699
+ name: string;
700
+ variance?: K.VarianceKind | "plus" | "minus" | null;
701
+ bound?: K.TypeAnnotationKind | null;
702
+ }
703
+ interface InterfaceTypeAnnotation extends Omit<FlowType, "type"> {
704
+ type: "InterfaceTypeAnnotation";
705
+ body: K.ObjectTypeAnnotationKind;
706
+ extends?: K.InterfaceExtendsKind[] | null;
707
+ }
708
+ interface InterfaceExtends extends Omit<Node, "type"> {
709
+ type: "InterfaceExtends";
710
+ id: K.IdentifierKind;
711
+ typeParameters?: K.TypeParameterInstantiationKind | null;
712
+ }
713
+ interface InterfaceDeclaration extends Omit<Declaration, "type"> {
714
+ type: "InterfaceDeclaration";
715
+ id: K.IdentifierKind;
716
+ typeParameters?: K.TypeParameterDeclarationKind | null;
717
+ body: K.ObjectTypeAnnotationKind;
718
+ extends: K.InterfaceExtendsKind[];
719
+ }
720
+ interface DeclareInterface extends Omit<InterfaceDeclaration, "type"> {
721
+ type: "DeclareInterface";
722
+ }
723
+ interface TypeAlias extends Omit<Declaration, "type"> {
724
+ type: "TypeAlias";
725
+ id: K.IdentifierKind;
726
+ typeParameters: K.TypeParameterDeclarationKind | null;
727
+ right: K.FlowTypeKind;
728
+ }
729
+ interface OpaqueType extends Omit<Declaration, "type"> {
730
+ type: "OpaqueType";
731
+ id: K.IdentifierKind;
732
+ typeParameters: K.TypeParameterDeclarationKind | null;
733
+ impltype: K.FlowTypeKind;
734
+ supertype: K.FlowTypeKind;
735
+ }
736
+ interface DeclareTypeAlias extends Omit<TypeAlias, "type"> {
737
+ type: "DeclareTypeAlias";
738
+ }
739
+ interface DeclareOpaqueType extends Omit<TypeAlias, "type"> {
740
+ type: "DeclareOpaqueType";
741
+ }
742
+ interface TypeCastExpression extends Omit<Expression, "type"> {
743
+ type: "TypeCastExpression";
744
+ expression: K.ExpressionKind;
745
+ typeAnnotation: K.TypeAnnotationKind;
746
+ }
747
+ interface TupleTypeAnnotation extends Omit<FlowType, "type"> {
748
+ type: "TupleTypeAnnotation";
749
+ types: K.FlowTypeKind[];
750
+ }
751
+ interface DeclareVariable extends Omit<Statement, "type"> {
752
+ type: "DeclareVariable";
753
+ id: K.IdentifierKind;
754
+ }
755
+ interface DeclareFunction extends Omit<Statement, "type"> {
756
+ type: "DeclareFunction";
757
+ id: K.IdentifierKind;
758
+ }
759
+ interface DeclareClass extends Omit<InterfaceDeclaration, "type"> {
760
+ type: "DeclareClass";
761
+ }
762
+ interface DeclareModule extends Omit<Statement, "type"> {
763
+ type: "DeclareModule";
764
+ id: K.IdentifierKind | K.LiteralKind;
765
+ body: K.BlockStatementKind;
766
+ }
767
+ interface DeclareModuleExports extends Omit<Statement, "type"> {
768
+ type: "DeclareModuleExports";
769
+ typeAnnotation: K.TypeAnnotationKind;
770
+ }
771
+ interface DeclareExportDeclaration extends Omit<Declaration, "type"> {
772
+ type: "DeclareExportDeclaration";
773
+ default: boolean;
774
+ declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | null;
775
+ specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
776
+ source?: K.LiteralKind | null;
777
+ }
778
+ interface ExportSpecifier extends Omit<ModuleSpecifier, "type"> {
779
+ type: "ExportSpecifier";
780
+ exported: K.IdentifierKind;
781
+ }
782
+ interface ExportBatchSpecifier extends Omit<Specifier, "type"> {
783
+ type: "ExportBatchSpecifier";
784
+ }
785
+ interface DeclareExportAllDeclaration extends Omit<Declaration, "type"> {
786
+ type: "DeclareExportAllDeclaration";
787
+ source?: K.LiteralKind | null;
788
+ }
789
+ interface FlowPredicate extends Flow {
790
+ }
791
+ interface InferredPredicate extends Omit<FlowPredicate, "type"> {
792
+ type: "InferredPredicate";
793
+ }
794
+ interface DeclaredPredicate extends Omit<FlowPredicate, "type"> {
795
+ type: "DeclaredPredicate";
796
+ value: K.ExpressionKind;
797
+ }
798
+ interface ExportDeclaration extends Omit<Declaration, "type"> {
799
+ type: "ExportDeclaration";
800
+ default: boolean;
801
+ declaration: K.DeclarationKind | K.ExpressionKind | null;
802
+ specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
803
+ source?: K.LiteralKind | null;
804
+ }
805
+ interface Block extends Comment {
806
+ type: "Block";
807
+ }
808
+ interface Line extends Comment {
809
+ type: "Line";
810
+ }
811
+ interface Noop extends Omit<Statement, "type"> {
812
+ type: "Noop";
813
+ }
814
+ interface DoExpression extends Omit<Expression, "type"> {
815
+ type: "DoExpression";
816
+ body: K.StatementKind[];
817
+ }
818
+ interface Super extends Omit<Expression, "type"> {
819
+ type: "Super";
820
+ }
821
+ interface BindExpression extends Omit<Expression, "type"> {
822
+ type: "BindExpression";
823
+ object: K.ExpressionKind | null;
824
+ callee: K.ExpressionKind;
825
+ }
826
+ interface Decorator extends Omit<Node, "type"> {
827
+ type: "Decorator";
828
+ expression: K.ExpressionKind;
829
+ }
830
+ interface MetaProperty extends Omit<Expression, "type"> {
831
+ type: "MetaProperty";
832
+ meta: K.IdentifierKind;
833
+ property: K.IdentifierKind;
834
+ }
835
+ interface ParenthesizedExpression extends Omit<Expression, "type"> {
836
+ type: "ParenthesizedExpression";
837
+ expression: K.ExpressionKind;
838
+ }
839
+ interface ExportDefaultDeclaration extends Omit<Declaration, "type"> {
840
+ type: "ExportDefaultDeclaration";
841
+ declaration: K.DeclarationKind | K.ExpressionKind;
842
+ }
843
+ interface ExportNamedDeclaration extends Omit<Declaration, "type"> {
844
+ type: "ExportNamedDeclaration";
845
+ declaration: K.DeclarationKind | null;
846
+ specifiers?: K.ExportSpecifierKind[];
847
+ source?: K.LiteralKind | null;
848
+ }
849
+ interface ExportNamespaceSpecifier extends Omit<Specifier, "type"> {
850
+ type: "ExportNamespaceSpecifier";
851
+ exported: K.IdentifierKind;
852
+ }
853
+ interface ExportDefaultSpecifier extends Omit<Specifier, "type"> {
854
+ type: "ExportDefaultSpecifier";
855
+ exported: K.IdentifierKind;
856
+ }
857
+ interface ExportAllDeclaration extends Omit<Declaration, "type"> {
858
+ type: "ExportAllDeclaration";
859
+ exported: K.IdentifierKind | null;
860
+ source: K.LiteralKind;
861
+ }
862
+ interface CommentBlock extends Comment {
863
+ type: "CommentBlock";
864
+ }
865
+ interface CommentLine extends Comment {
866
+ type: "CommentLine";
867
+ }
868
+ interface Directive extends Omit<Node, "type"> {
869
+ type: "Directive";
870
+ value: K.DirectiveLiteralKind;
871
+ }
872
+ interface DirectiveLiteral extends Omit<Node, "type">, Omit<Expression, "type"> {
873
+ type: "DirectiveLiteral";
874
+ value?: string;
875
+ }
876
+ interface InterpreterDirective extends Omit<Node, "type"> {
877
+ type: "InterpreterDirective";
878
+ value: string;
879
+ }
880
+ interface StringLiteral extends Omit<Literal, "type" | "value"> {
881
+ type: "StringLiteral";
882
+ value: string;
883
+ }
884
+ interface NumericLiteral extends Omit<Literal, "type" | "value"> {
885
+ type: "NumericLiteral";
886
+ value: number;
887
+ raw?: string | null;
888
+ extra?: {
889
+ rawValue: number;
890
+ raw: string;
891
+ };
892
+ }
893
+ interface BigIntLiteral extends Omit<Literal, "type" | "value"> {
894
+ type: "BigIntLiteral";
895
+ value: string | number;
896
+ extra?: {
897
+ rawValue: string;
898
+ raw: string;
899
+ };
900
+ }
901
+ interface NullLiteral extends Omit<Literal, "type" | "value"> {
902
+ type: "NullLiteral";
903
+ value?: null;
904
+ }
905
+ interface BooleanLiteral extends Omit<Literal, "type" | "value"> {
906
+ type: "BooleanLiteral";
907
+ value: boolean;
908
+ }
909
+ interface RegExpLiteral extends Omit<Literal, "type" | "value"> {
910
+ type: "RegExpLiteral";
911
+ pattern: string;
912
+ flags: string;
913
+ value?: RegExp;
914
+ }
915
+ interface ObjectMethod extends Omit<Node, "type">, Omit<Function, "type" | "params" | "body" | "generator" | "async"> {
916
+ type: "ObjectMethod";
917
+ kind: "method" | "get" | "set";
918
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
919
+ params: K.PatternKind[];
920
+ body: K.BlockStatementKind;
921
+ computed?: boolean;
922
+ generator?: boolean;
923
+ async?: boolean;
924
+ accessibility?: K.LiteralKind | null;
925
+ decorators?: K.DecoratorKind[] | null;
926
+ }
927
+ interface ClassPrivateProperty extends Omit<ClassProperty, "type" | "key" | "value"> {
928
+ type: "ClassPrivateProperty";
929
+ key: K.PrivateNameKind;
930
+ value?: K.ExpressionKind | null;
931
+ }
932
+ interface ClassMethod extends Omit<Declaration, "type">, Omit<Function, "type" | "body"> {
933
+ type: "ClassMethod";
934
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
935
+ kind?: "get" | "set" | "method" | "constructor";
936
+ body: K.BlockStatementKind;
937
+ computed?: boolean;
938
+ static?: boolean | null;
939
+ abstract?: boolean | null;
940
+ access?: "public" | "private" | "protected" | null;
941
+ accessibility?: "public" | "private" | "protected" | null;
942
+ decorators?: K.DecoratorKind[] | null;
943
+ optional?: boolean | null;
944
+ }
945
+ interface ClassPrivateMethod extends Omit<Declaration, "type">, Omit<Function, "type" | "body"> {
946
+ type: "ClassPrivateMethod";
947
+ key: K.PrivateNameKind;
948
+ kind?: "get" | "set" | "method" | "constructor";
949
+ body: K.BlockStatementKind;
950
+ computed?: boolean;
951
+ static?: boolean | null;
952
+ abstract?: boolean | null;
953
+ access?: "public" | "private" | "protected" | null;
954
+ accessibility?: "public" | "private" | "protected" | null;
955
+ decorators?: K.DecoratorKind[] | null;
956
+ optional?: boolean | null;
957
+ }
958
+ interface PrivateName extends Omit<Expression, "type">, Omit<Pattern, "type"> {
959
+ type: "PrivateName";
960
+ id: K.IdentifierKind;
961
+ }
962
+ interface RestProperty extends Omit<Node, "type"> {
963
+ type: "RestProperty";
964
+ argument: K.ExpressionKind;
965
+ }
966
+ interface ForAwaitStatement extends Omit<Statement, "type"> {
967
+ type: "ForAwaitStatement";
968
+ left: K.VariableDeclarationKind | K.ExpressionKind;
969
+ right: K.ExpressionKind;
970
+ body: K.StatementKind;
971
+ }
972
+ interface Import extends Omit<Expression, "type"> {
973
+ type: "Import";
974
+ }
975
+ interface TSQualifiedName extends Omit<Node, "type"> {
976
+ type: "TSQualifiedName";
977
+ left: K.IdentifierKind | K.TSQualifiedNameKind;
978
+ right: K.IdentifierKind | K.TSQualifiedNameKind;
979
+ }
980
+ interface TSTypeReference extends Omit<TSType, "type">, TSHasOptionalTypeParameterInstantiation {
981
+ type: "TSTypeReference";
982
+ typeName: K.IdentifierKind | K.TSQualifiedNameKind;
983
+ }
984
+ interface TSHasOptionalTypeParameters {
985
+ typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
986
+ }
987
+ interface TSHasOptionalTypeAnnotation {
988
+ typeAnnotation?: K.TSTypeAnnotationKind | null;
989
+ }
990
+ interface TSAsExpression extends Omit<Expression, "type">, Omit<Pattern, "type"> {
991
+ type: "TSAsExpression";
992
+ expression: K.ExpressionKind;
993
+ typeAnnotation: K.TSTypeKind;
994
+ extra?: {
995
+ parenthesized: boolean;
996
+ } | null;
997
+ }
998
+ interface TSNonNullExpression extends Omit<Expression, "type">, Omit<Pattern, "type"> {
999
+ type: "TSNonNullExpression";
1000
+ expression: K.ExpressionKind;
1001
+ }
1002
+ interface TSAnyKeyword extends Omit<TSType, "type"> {
1003
+ type: "TSAnyKeyword";
1004
+ }
1005
+ interface TSBigIntKeyword extends Omit<TSType, "type"> {
1006
+ type: "TSBigIntKeyword";
1007
+ }
1008
+ interface TSBooleanKeyword extends Omit<TSType, "type"> {
1009
+ type: "TSBooleanKeyword";
1010
+ }
1011
+ interface TSNeverKeyword extends Omit<TSType, "type"> {
1012
+ type: "TSNeverKeyword";
1013
+ }
1014
+ interface TSNullKeyword extends Omit<TSType, "type"> {
1015
+ type: "TSNullKeyword";
1016
+ }
1017
+ interface TSNumberKeyword extends Omit<TSType, "type"> {
1018
+ type: "TSNumberKeyword";
1019
+ }
1020
+ interface TSObjectKeyword extends Omit<TSType, "type"> {
1021
+ type: "TSObjectKeyword";
1022
+ }
1023
+ interface TSStringKeyword extends Omit<TSType, "type"> {
1024
+ type: "TSStringKeyword";
1025
+ }
1026
+ interface TSSymbolKeyword extends Omit<TSType, "type"> {
1027
+ type: "TSSymbolKeyword";
1028
+ }
1029
+ interface TSUndefinedKeyword extends Omit<TSType, "type"> {
1030
+ type: "TSUndefinedKeyword";
1031
+ }
1032
+ interface TSUnknownKeyword extends Omit<TSType, "type"> {
1033
+ type: "TSUnknownKeyword";
1034
+ }
1035
+ interface TSVoidKeyword extends Omit<TSType, "type"> {
1036
+ type: "TSVoidKeyword";
1037
+ }
1038
+ interface TSThisType extends Omit<TSType, "type"> {
1039
+ type: "TSThisType";
1040
+ }
1041
+ interface TSArrayType extends Omit<TSType, "type"> {
1042
+ type: "TSArrayType";
1043
+ elementType: K.TSTypeKind;
1044
+ }
1045
+ interface TSLiteralType extends Omit<TSType, "type"> {
1046
+ type: "TSLiteralType";
1047
+ literal: K.NumericLiteralKind | K.StringLiteralKind | K.BooleanLiteralKind | K.TemplateLiteralKind | K.UnaryExpressionKind;
1048
+ }
1049
+ interface TSUnionType extends Omit<TSType, "type"> {
1050
+ type: "TSUnionType";
1051
+ types: K.TSTypeKind[];
1052
+ }
1053
+ interface TSIntersectionType extends Omit<TSType, "type"> {
1054
+ type: "TSIntersectionType";
1055
+ types: K.TSTypeKind[];
1056
+ }
1057
+ interface TSConditionalType extends Omit<TSType, "type"> {
1058
+ type: "TSConditionalType";
1059
+ checkType: K.TSTypeKind;
1060
+ extendsType: K.TSTypeKind;
1061
+ trueType: K.TSTypeKind;
1062
+ falseType: K.TSTypeKind;
1063
+ }
1064
+ interface TSInferType extends Omit<TSType, "type"> {
1065
+ type: "TSInferType";
1066
+ typeParameter: K.TSTypeParameterKind;
1067
+ }
1068
+ interface TSTypeParameter extends Omit<Identifier, "type" | "name"> {
1069
+ type: "TSTypeParameter";
1070
+ name: string;
1071
+ constraint?: K.TSTypeKind | undefined;
1072
+ default?: K.TSTypeKind | undefined;
1073
+ }
1074
+ interface TSParenthesizedType extends Omit<TSType, "type"> {
1075
+ type: "TSParenthesizedType";
1076
+ typeAnnotation: K.TSTypeKind;
1077
+ }
1078
+ interface TSFunctionType extends Omit<TSType, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
1079
+ type: "TSFunctionType";
1080
+ parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
1081
+ }
1082
+ interface TSConstructorType extends Omit<TSType, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
1083
+ type: "TSConstructorType";
1084
+ parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
1085
+ }
1086
+ interface TSDeclareFunction extends Omit<Declaration, "type">, TSHasOptionalTypeParameters {
1087
+ type: "TSDeclareFunction";
1088
+ declare?: boolean;
1089
+ async?: boolean;
1090
+ generator?: boolean;
1091
+ id?: K.IdentifierKind | null;
1092
+ params: K.PatternKind[];
1093
+ returnType?: K.TSTypeAnnotationKind | K.NoopKind | null;
1094
+ }
1095
+ interface TSDeclareMethod extends Omit<Declaration, "type">, TSHasOptionalTypeParameters {
1096
+ type: "TSDeclareMethod";
1097
+ async?: boolean;
1098
+ generator?: boolean;
1099
+ params: K.PatternKind[];
1100
+ abstract?: boolean;
1101
+ accessibility?: "public" | "private" | "protected" | undefined;
1102
+ static?: boolean;
1103
+ computed?: boolean;
1104
+ optional?: boolean;
1105
+ key: K.IdentifierKind | K.StringLiteralKind | K.NumericLiteralKind | K.ExpressionKind;
1106
+ kind?: "get" | "set" | "method" | "constructor";
1107
+ access?: "public" | "private" | "protected" | undefined;
1108
+ decorators?: K.DecoratorKind[] | null;
1109
+ returnType?: K.TSTypeAnnotationKind | K.NoopKind | null;
1110
+ }
1111
+ interface TSMappedType extends Omit<TSType, "type"> {
1112
+ type: "TSMappedType";
1113
+ readonly?: boolean | "+" | "-";
1114
+ typeParameter: K.TSTypeParameterKind;
1115
+ optional?: boolean | "+" | "-";
1116
+ typeAnnotation?: K.TSTypeKind | null;
1117
+ }
1118
+ interface TSTupleType extends Omit<TSType, "type"> {
1119
+ type: "TSTupleType";
1120
+ elementTypes: K.TSTypeKind[];
1121
+ }
1122
+ interface TSRestType extends Omit<TSType, "type"> {
1123
+ type: "TSRestType";
1124
+ typeAnnotation: K.TSTypeKind;
1125
+ }
1126
+ interface TSOptionalType extends Omit<TSType, "type"> {
1127
+ type: "TSOptionalType";
1128
+ typeAnnotation: K.TSTypeKind;
1129
+ }
1130
+ interface TSIndexedAccessType extends Omit<TSType, "type"> {
1131
+ type: "TSIndexedAccessType";
1132
+ objectType: K.TSTypeKind;
1133
+ indexType: K.TSTypeKind;
1134
+ }
1135
+ interface TSTypeOperator extends Omit<TSType, "type"> {
1136
+ type: "TSTypeOperator";
1137
+ operator: string;
1138
+ typeAnnotation: K.TSTypeKind;
1139
+ }
1140
+ interface TSIndexSignature extends Omit<Declaration, "type">, TSHasOptionalTypeAnnotation {
1141
+ type: "TSIndexSignature";
1142
+ parameters: K.IdentifierKind[];
1143
+ readonly?: boolean;
1144
+ }
1145
+ interface TSPropertySignature extends Omit<Declaration, "type">, TSHasOptionalTypeAnnotation {
1146
+ type: "TSPropertySignature";
1147
+ key: K.ExpressionKind;
1148
+ computed?: boolean;
1149
+ readonly?: boolean;
1150
+ optional?: boolean;
1151
+ initializer?: K.ExpressionKind | null;
1152
+ }
1153
+ interface TSMethodSignature extends Omit<Declaration, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
1154
+ type: "TSMethodSignature";
1155
+ key: K.ExpressionKind;
1156
+ computed?: boolean;
1157
+ optional?: boolean;
1158
+ parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
1159
+ }
1160
+ interface TSTypePredicate extends Omit<TSTypeAnnotation, "type" | "typeAnnotation"> {
1161
+ type: "TSTypePredicate";
1162
+ parameterName: K.IdentifierKind | K.TSThisTypeKind;
1163
+ typeAnnotation: K.TSTypeAnnotationKind;
1164
+ }
1165
+ interface TSCallSignatureDeclaration extends Omit<Declaration, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
1166
+ type: "TSCallSignatureDeclaration";
1167
+ parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
1168
+ }
1169
+ interface TSConstructSignatureDeclaration extends Omit<Declaration, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
1170
+ type: "TSConstructSignatureDeclaration";
1171
+ parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
1172
+ }
1173
+ interface TSEnumMember extends Omit<Node, "type"> {
1174
+ type: "TSEnumMember";
1175
+ id: K.IdentifierKind | K.StringLiteralKind;
1176
+ initializer?: K.ExpressionKind | null;
1177
+ }
1178
+ interface TSTypeQuery extends Omit<TSType, "type"> {
1179
+ type: "TSTypeQuery";
1180
+ exprName: K.IdentifierKind | K.TSQualifiedNameKind | K.TSImportTypeKind;
1181
+ }
1182
+ interface TSImportType extends Omit<TSType, "type">, TSHasOptionalTypeParameterInstantiation {
1183
+ type: "TSImportType";
1184
+ argument: K.StringLiteralKind;
1185
+ qualifier?: K.IdentifierKind | K.TSQualifiedNameKind | undefined;
1186
+ }
1187
+ interface TSTypeLiteral extends Omit<TSType, "type"> {
1188
+ type: "TSTypeLiteral";
1189
+ members: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[];
1190
+ }
1191
+ interface TSTypeAssertion extends Omit<Expression, "type">, Omit<Pattern, "type"> {
1192
+ type: "TSTypeAssertion";
1193
+ typeAnnotation: K.TSTypeKind;
1194
+ expression: K.ExpressionKind;
1195
+ extra?: {
1196
+ parenthesized: boolean;
1197
+ } | null;
1198
+ }
1199
+ interface TSEnumDeclaration extends Omit<Declaration, "type"> {
1200
+ type: "TSEnumDeclaration";
1201
+ id: K.IdentifierKind;
1202
+ const?: boolean;
1203
+ declare?: boolean;
1204
+ members: K.TSEnumMemberKind[];
1205
+ initializer?: K.ExpressionKind | null;
1206
+ }
1207
+ interface TSTypeAliasDeclaration extends Omit<Declaration, "type">, TSHasOptionalTypeParameters {
1208
+ type: "TSTypeAliasDeclaration";
1209
+ id: K.IdentifierKind;
1210
+ declare?: boolean;
1211
+ typeAnnotation: K.TSTypeKind;
1212
+ }
1213
+ interface TSModuleBlock extends Omit<Node, "type"> {
1214
+ type: "TSModuleBlock";
1215
+ body: K.StatementKind[];
1216
+ }
1217
+ interface TSModuleDeclaration extends Omit<Declaration, "type"> {
1218
+ type: "TSModuleDeclaration";
1219
+ id: K.StringLiteralKind | K.IdentifierKind | K.TSQualifiedNameKind;
1220
+ declare?: boolean;
1221
+ global?: boolean;
1222
+ body?: K.TSModuleBlockKind | K.TSModuleDeclarationKind | null;
1223
+ }
1224
+ interface TSImportEqualsDeclaration extends Omit<Declaration, "type"> {
1225
+ type: "TSImportEqualsDeclaration";
1226
+ id: K.IdentifierKind;
1227
+ isExport?: boolean;
1228
+ moduleReference: K.IdentifierKind | K.TSQualifiedNameKind | K.TSExternalModuleReferenceKind;
1229
+ }
1230
+ interface TSExternalModuleReference extends Omit<Declaration, "type"> {
1231
+ type: "TSExternalModuleReference";
1232
+ expression: K.StringLiteralKind;
1233
+ }
1234
+ interface TSExportAssignment extends Omit<Statement, "type"> {
1235
+ type: "TSExportAssignment";
1236
+ expression: K.ExpressionKind;
1237
+ }
1238
+ interface TSNamespaceExportDeclaration extends Omit<Declaration, "type"> {
1239
+ type: "TSNamespaceExportDeclaration";
1240
+ id: K.IdentifierKind;
1241
+ }
1242
+ interface TSInterfaceBody extends Omit<Node, "type"> {
1243
+ type: "TSInterfaceBody";
1244
+ body: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[];
1245
+ }
1246
+ interface TSInterfaceDeclaration extends Omit<Declaration, "type">, TSHasOptionalTypeParameters {
1247
+ type: "TSInterfaceDeclaration";
1248
+ id: K.IdentifierKind | K.TSQualifiedNameKind;
1249
+ declare?: boolean;
1250
+ extends?: K.TSExpressionWithTypeArgumentsKind[] | null;
1251
+ body: K.TSInterfaceBodyKind;
1252
+ }
1253
+ interface TSParameterProperty extends Omit<Pattern, "type"> {
1254
+ type: "TSParameterProperty";
1255
+ accessibility?: "public" | "private" | "protected" | undefined;
1256
+ readonly?: boolean;
1257
+ parameter: K.IdentifierKind | K.AssignmentPatternKind;
1258
+ }
1259
+ interface OptionalMemberExpression extends Omit<MemberExpression, "type"> {
1260
+ type: "OptionalMemberExpression";
1261
+ optional?: boolean;
1262
+ }
1263
+ interface OptionalCallExpression extends Omit<CallExpression, "type"> {
1264
+ type: "OptionalCallExpression";
1265
+ optional?: boolean;
1266
+ }
1267
+ type ASTNode = File | Program | Identifier | BlockStatement | EmptyStatement | ExpressionStatement | IfStatement | LabeledStatement | BreakStatement | ContinueStatement | WithStatement | SwitchStatement | SwitchCase | ReturnStatement | ThrowStatement | TryStatement | CatchClause | WhileStatement | DoWhileStatement | ForStatement | VariableDeclaration | ForInStatement | DebuggerStatement | FunctionDeclaration | FunctionExpression | VariableDeclarator | ThisExpression | ArrayExpression | ObjectExpression | Property | Literal | SequenceExpression | UnaryExpression | BinaryExpression | AssignmentExpression | MemberExpression | UpdateExpression | LogicalExpression | ConditionalExpression | NewExpression | CallExpression | RestElement | TypeAnnotation | TSTypeAnnotation | SpreadElementPattern | ArrowFunctionExpression | ForOfStatement | YieldExpression | GeneratorExpression | ComprehensionBlock | ComprehensionExpression | ObjectProperty | PropertyPattern | ObjectPattern | ArrayPattern | MethodDefinition | SpreadElement | AssignmentPattern | ClassPropertyDefinition | ClassProperty | ClassBody | ClassDeclaration | ClassExpression | ImportSpecifier | ImportNamespaceSpecifier | ImportDefaultSpecifier | ImportDeclaration | TaggedTemplateExpression | TemplateLiteral | TemplateElement | SpreadProperty | SpreadPropertyPattern | AwaitExpression | JSXAttribute | JSXIdentifier | JSXNamespacedName | JSXExpressionContainer | JSXMemberExpression | JSXSpreadAttribute | JSXElement | JSXOpeningElement | JSXClosingElement | JSXFragment | JSXText | JSXOpeningFragment | JSXClosingFragment | JSXEmptyExpression | JSXSpreadChild | TypeParameterDeclaration | TSTypeParameterDeclaration | TypeParameterInstantiation | TSTypeParameterInstantiation | ClassImplements | TSExpressionWithTypeArguments | AnyTypeAnnotation | EmptyTypeAnnotation | MixedTypeAnnotation | VoidTypeAnnotation | NumberTypeAnnotation | NumberLiteralTypeAnnotation | NumericLiteralTypeAnnotation | StringTypeAnnotation | StringLiteralTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullableTypeAnnotation | NullLiteralTypeAnnotation | NullTypeAnnotation | ThisTypeAnnotation | ExistsTypeAnnotation | ExistentialTypeParam | FunctionTypeAnnotation | FunctionTypeParam | ArrayTypeAnnotation | ObjectTypeAnnotation | ObjectTypeProperty | ObjectTypeSpreadProperty | ObjectTypeIndexer | ObjectTypeCallProperty | ObjectTypeInternalSlot | Variance | QualifiedTypeIdentifier | GenericTypeAnnotation | MemberTypeAnnotation | UnionTypeAnnotation | IntersectionTypeAnnotation | TypeofTypeAnnotation | TypeParameter | InterfaceTypeAnnotation | InterfaceExtends | InterfaceDeclaration | DeclareInterface | TypeAlias | OpaqueType | DeclareTypeAlias | DeclareOpaqueType | TypeCastExpression | TupleTypeAnnotation | DeclareVariable | DeclareFunction | DeclareClass | DeclareModule | DeclareModuleExports | DeclareExportDeclaration | ExportSpecifier | ExportBatchSpecifier | DeclareExportAllDeclaration | InferredPredicate | DeclaredPredicate | ExportDeclaration | Block | Line | Noop | DoExpression | Super | BindExpression | Decorator | MetaProperty | ParenthesizedExpression | ExportDefaultDeclaration | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportDefaultSpecifier | ExportAllDeclaration | CommentBlock | CommentLine | Directive | DirectiveLiteral | InterpreterDirective | StringLiteral | NumericLiteral | BigIntLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ObjectMethod | ClassPrivateProperty | ClassMethod | ClassPrivateMethod | PrivateName | RestProperty | ForAwaitStatement | Import | TSQualifiedName | TSTypeReference | TSAsExpression | TSNonNullExpression | TSAnyKeyword | TSBigIntKeyword | TSBooleanKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSArrayType | TSLiteralType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSTypeParameter | TSParenthesizedType | TSFunctionType | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSMappedType | TSTupleType | TSRestType | TSOptionalType | TSIndexedAccessType | TSTypeOperator | TSIndexSignature | TSPropertySignature | TSMethodSignature | TSTypePredicate | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSEnumMember | TSTypeQuery | TSImportType | TSTypeLiteral | TSTypeAssertion | TSEnumDeclaration | TSTypeAliasDeclaration | TSModuleBlock | TSModuleDeclaration | TSImportEqualsDeclaration | TSExternalModuleReference | TSExportAssignment | TSNamespaceExportDeclaration | TSInterfaceBody | TSInterfaceDeclaration | TSParameterProperty | OptionalMemberExpression | OptionalCallExpression;
1268
+ let Printable: Type<Printable>;
1269
+ let SourceLocation: Type<SourceLocation>;
1270
+ let Node: Type<Node>;
1271
+ let Comment: Type<Comment>;
1272
+ let Position: Type<Position>;
1273
+ let File: Type<File>;
1274
+ let Program: Type<Program>;
1275
+ let Statement: Type<Statement>;
1276
+ let Function: Type<Function>;
1277
+ let Expression: Type<Expression>;
1278
+ let Pattern: Type<Pattern>;
1279
+ let Identifier: Type<Identifier>;
1280
+ let BlockStatement: Type<BlockStatement>;
1281
+ let EmptyStatement: Type<EmptyStatement>;
1282
+ let ExpressionStatement: Type<ExpressionStatement>;
1283
+ let IfStatement: Type<IfStatement>;
1284
+ let LabeledStatement: Type<LabeledStatement>;
1285
+ let BreakStatement: Type<BreakStatement>;
1286
+ let ContinueStatement: Type<ContinueStatement>;
1287
+ let WithStatement: Type<WithStatement>;
1288
+ let SwitchStatement: Type<SwitchStatement>;
1289
+ let SwitchCase: Type<SwitchCase>;
1290
+ let ReturnStatement: Type<ReturnStatement>;
1291
+ let ThrowStatement: Type<ThrowStatement>;
1292
+ let TryStatement: Type<TryStatement>;
1293
+ let CatchClause: Type<CatchClause>;
1294
+ let WhileStatement: Type<WhileStatement>;
1295
+ let DoWhileStatement: Type<DoWhileStatement>;
1296
+ let ForStatement: Type<ForStatement>;
1297
+ let Declaration: Type<Declaration>;
1298
+ let VariableDeclaration: Type<VariableDeclaration>;
1299
+ let ForInStatement: Type<ForInStatement>;
1300
+ let DebuggerStatement: Type<DebuggerStatement>;
1301
+ let FunctionDeclaration: Type<FunctionDeclaration>;
1302
+ let FunctionExpression: Type<FunctionExpression>;
1303
+ let VariableDeclarator: Type<VariableDeclarator>;
1304
+ let ThisExpression: Type<ThisExpression>;
1305
+ let ArrayExpression: Type<ArrayExpression>;
1306
+ let ObjectExpression: Type<ObjectExpression>;
1307
+ let Property: Type<Property>;
1308
+ let Literal: Type<Literal>;
1309
+ let SequenceExpression: Type<SequenceExpression>;
1310
+ let UnaryExpression: Type<UnaryExpression>;
1311
+ let BinaryExpression: Type<BinaryExpression>;
1312
+ let AssignmentExpression: Type<AssignmentExpression>;
1313
+ let MemberExpression: Type<MemberExpression>;
1314
+ let UpdateExpression: Type<UpdateExpression>;
1315
+ let LogicalExpression: Type<LogicalExpression>;
1316
+ let ConditionalExpression: Type<ConditionalExpression>;
1317
+ let NewExpression: Type<NewExpression>;
1318
+ let CallExpression: Type<CallExpression>;
1319
+ let RestElement: Type<RestElement>;
1320
+ let TypeAnnotation: Type<TypeAnnotation>;
1321
+ let TSTypeAnnotation: Type<TSTypeAnnotation>;
1322
+ let SpreadElementPattern: Type<SpreadElementPattern>;
1323
+ let ArrowFunctionExpression: Type<ArrowFunctionExpression>;
1324
+ let ForOfStatement: Type<ForOfStatement>;
1325
+ let YieldExpression: Type<YieldExpression>;
1326
+ let GeneratorExpression: Type<GeneratorExpression>;
1327
+ let ComprehensionBlock: Type<ComprehensionBlock>;
1328
+ let ComprehensionExpression: Type<ComprehensionExpression>;
1329
+ let ObjectProperty: Type<ObjectProperty>;
1330
+ let PropertyPattern: Type<PropertyPattern>;
1331
+ let ObjectPattern: Type<ObjectPattern>;
1332
+ let ArrayPattern: Type<ArrayPattern>;
1333
+ let MethodDefinition: Type<MethodDefinition>;
1334
+ let SpreadElement: Type<SpreadElement>;
1335
+ let AssignmentPattern: Type<AssignmentPattern>;
1336
+ let ClassPropertyDefinition: Type<ClassPropertyDefinition>;
1337
+ let ClassProperty: Type<ClassProperty>;
1338
+ let ClassBody: Type<ClassBody>;
1339
+ let ClassDeclaration: Type<ClassDeclaration>;
1340
+ let ClassExpression: Type<ClassExpression>;
1341
+ let Specifier: Type<Specifier>;
1342
+ let ModuleSpecifier: Type<ModuleSpecifier>;
1343
+ let ImportSpecifier: Type<ImportSpecifier>;
1344
+ let ImportNamespaceSpecifier: Type<ImportNamespaceSpecifier>;
1345
+ let ImportDefaultSpecifier: Type<ImportDefaultSpecifier>;
1346
+ let ImportDeclaration: Type<ImportDeclaration>;
1347
+ let TaggedTemplateExpression: Type<TaggedTemplateExpression>;
1348
+ let TemplateLiteral: Type<TemplateLiteral>;
1349
+ let TemplateElement: Type<TemplateElement>;
1350
+ let SpreadProperty: Type<SpreadProperty>;
1351
+ let SpreadPropertyPattern: Type<SpreadPropertyPattern>;
1352
+ let AwaitExpression: Type<AwaitExpression>;
1353
+ let JSXAttribute: Type<JSXAttribute>;
1354
+ let JSXIdentifier: Type<JSXIdentifier>;
1355
+ let JSXNamespacedName: Type<JSXNamespacedName>;
1356
+ let JSXExpressionContainer: Type<JSXExpressionContainer>;
1357
+ let JSXMemberExpression: Type<JSXMemberExpression>;
1358
+ let JSXSpreadAttribute: Type<JSXSpreadAttribute>;
1359
+ let JSXElement: Type<JSXElement>;
1360
+ let JSXOpeningElement: Type<JSXOpeningElement>;
1361
+ let JSXClosingElement: Type<JSXClosingElement>;
1362
+ let JSXFragment: Type<JSXFragment>;
1363
+ let JSXText: Type<JSXText>;
1364
+ let JSXOpeningFragment: Type<JSXOpeningFragment>;
1365
+ let JSXClosingFragment: Type<JSXClosingFragment>;
1366
+ let JSXEmptyExpression: Type<JSXEmptyExpression>;
1367
+ let JSXSpreadChild: Type<JSXSpreadChild>;
1368
+ let TypeParameterDeclaration: Type<TypeParameterDeclaration>;
1369
+ let TSTypeParameterDeclaration: Type<TSTypeParameterDeclaration>;
1370
+ let TypeParameterInstantiation: Type<TypeParameterInstantiation>;
1371
+ let TSTypeParameterInstantiation: Type<TSTypeParameterInstantiation>;
1372
+ let ClassImplements: Type<ClassImplements>;
1373
+ let TSType: Type<TSType>;
1374
+ let TSHasOptionalTypeParameterInstantiation: Type<TSHasOptionalTypeParameterInstantiation>;
1375
+ let TSExpressionWithTypeArguments: Type<TSExpressionWithTypeArguments>;
1376
+ let Flow: Type<Flow>;
1377
+ let FlowType: Type<FlowType>;
1378
+ let AnyTypeAnnotation: Type<AnyTypeAnnotation>;
1379
+ let EmptyTypeAnnotation: Type<EmptyTypeAnnotation>;
1380
+ let MixedTypeAnnotation: Type<MixedTypeAnnotation>;
1381
+ let VoidTypeAnnotation: Type<VoidTypeAnnotation>;
1382
+ let NumberTypeAnnotation: Type<NumberTypeAnnotation>;
1383
+ let NumberLiteralTypeAnnotation: Type<NumberLiteralTypeAnnotation>;
1384
+ let NumericLiteralTypeAnnotation: Type<NumericLiteralTypeAnnotation>;
1385
+ let StringTypeAnnotation: Type<StringTypeAnnotation>;
1386
+ let StringLiteralTypeAnnotation: Type<StringLiteralTypeAnnotation>;
1387
+ let BooleanTypeAnnotation: Type<BooleanTypeAnnotation>;
1388
+ let BooleanLiteralTypeAnnotation: Type<BooleanLiteralTypeAnnotation>;
1389
+ let NullableTypeAnnotation: Type<NullableTypeAnnotation>;
1390
+ let NullLiteralTypeAnnotation: Type<NullLiteralTypeAnnotation>;
1391
+ let NullTypeAnnotation: Type<NullTypeAnnotation>;
1392
+ let ThisTypeAnnotation: Type<ThisTypeAnnotation>;
1393
+ let ExistsTypeAnnotation: Type<ExistsTypeAnnotation>;
1394
+ let ExistentialTypeParam: Type<ExistentialTypeParam>;
1395
+ let FunctionTypeAnnotation: Type<FunctionTypeAnnotation>;
1396
+ let FunctionTypeParam: Type<FunctionTypeParam>;
1397
+ let ArrayTypeAnnotation: Type<ArrayTypeAnnotation>;
1398
+ let ObjectTypeAnnotation: Type<ObjectTypeAnnotation>;
1399
+ let ObjectTypeProperty: Type<ObjectTypeProperty>;
1400
+ let ObjectTypeSpreadProperty: Type<ObjectTypeSpreadProperty>;
1401
+ let ObjectTypeIndexer: Type<ObjectTypeIndexer>;
1402
+ let ObjectTypeCallProperty: Type<ObjectTypeCallProperty>;
1403
+ let ObjectTypeInternalSlot: Type<ObjectTypeInternalSlot>;
1404
+ let Variance: Type<Variance>;
1405
+ let QualifiedTypeIdentifier: Type<QualifiedTypeIdentifier>;
1406
+ let GenericTypeAnnotation: Type<GenericTypeAnnotation>;
1407
+ let MemberTypeAnnotation: Type<MemberTypeAnnotation>;
1408
+ let UnionTypeAnnotation: Type<UnionTypeAnnotation>;
1409
+ let IntersectionTypeAnnotation: Type<IntersectionTypeAnnotation>;
1410
+ let TypeofTypeAnnotation: Type<TypeofTypeAnnotation>;
1411
+ let TypeParameter: Type<TypeParameter>;
1412
+ let InterfaceTypeAnnotation: Type<InterfaceTypeAnnotation>;
1413
+ let InterfaceExtends: Type<InterfaceExtends>;
1414
+ let InterfaceDeclaration: Type<InterfaceDeclaration>;
1415
+ let DeclareInterface: Type<DeclareInterface>;
1416
+ let TypeAlias: Type<TypeAlias>;
1417
+ let OpaqueType: Type<OpaqueType>;
1418
+ let DeclareTypeAlias: Type<DeclareTypeAlias>;
1419
+ let DeclareOpaqueType: Type<DeclareOpaqueType>;
1420
+ let TypeCastExpression: Type<TypeCastExpression>;
1421
+ let TupleTypeAnnotation: Type<TupleTypeAnnotation>;
1422
+ let DeclareVariable: Type<DeclareVariable>;
1423
+ let DeclareFunction: Type<DeclareFunction>;
1424
+ let DeclareClass: Type<DeclareClass>;
1425
+ let DeclareModule: Type<DeclareModule>;
1426
+ let DeclareModuleExports: Type<DeclareModuleExports>;
1427
+ let DeclareExportDeclaration: Type<DeclareExportDeclaration>;
1428
+ let ExportSpecifier: Type<ExportSpecifier>;
1429
+ let ExportBatchSpecifier: Type<ExportBatchSpecifier>;
1430
+ let DeclareExportAllDeclaration: Type<DeclareExportAllDeclaration>;
1431
+ let FlowPredicate: Type<FlowPredicate>;
1432
+ let InferredPredicate: Type<InferredPredicate>;
1433
+ let DeclaredPredicate: Type<DeclaredPredicate>;
1434
+ let ExportDeclaration: Type<ExportDeclaration>;
1435
+ let Block: Type<Block>;
1436
+ let Line: Type<Line>;
1437
+ let Noop: Type<Noop>;
1438
+ let DoExpression: Type<DoExpression>;
1439
+ let Super: Type<Super>;
1440
+ let BindExpression: Type<BindExpression>;
1441
+ let Decorator: Type<Decorator>;
1442
+ let MetaProperty: Type<MetaProperty>;
1443
+ let ParenthesizedExpression: Type<ParenthesizedExpression>;
1444
+ let ExportDefaultDeclaration: Type<ExportDefaultDeclaration>;
1445
+ let ExportNamedDeclaration: Type<ExportNamedDeclaration>;
1446
+ let ExportNamespaceSpecifier: Type<ExportNamespaceSpecifier>;
1447
+ let ExportDefaultSpecifier: Type<ExportDefaultSpecifier>;
1448
+ let ExportAllDeclaration: Type<ExportAllDeclaration>;
1449
+ let CommentBlock: Type<CommentBlock>;
1450
+ let CommentLine: Type<CommentLine>;
1451
+ let Directive: Type<Directive>;
1452
+ let DirectiveLiteral: Type<DirectiveLiteral>;
1453
+ let InterpreterDirective: Type<InterpreterDirective>;
1454
+ let StringLiteral: Type<StringLiteral>;
1455
+ let NumericLiteral: Type<NumericLiteral>;
1456
+ let BigIntLiteral: Type<BigIntLiteral>;
1457
+ let NullLiteral: Type<NullLiteral>;
1458
+ let BooleanLiteral: Type<BooleanLiteral>;
1459
+ let RegExpLiteral: Type<RegExpLiteral>;
1460
+ let ObjectMethod: Type<ObjectMethod>;
1461
+ let ClassPrivateProperty: Type<ClassPrivateProperty>;
1462
+ let ClassMethod: Type<ClassMethod>;
1463
+ let ClassPrivateMethod: Type<ClassPrivateMethod>;
1464
+ let PrivateName: Type<PrivateName>;
1465
+ let RestProperty: Type<RestProperty>;
1466
+ let ForAwaitStatement: Type<ForAwaitStatement>;
1467
+ let Import: Type<Import>;
1468
+ let TSQualifiedName: Type<TSQualifiedName>;
1469
+ let TSTypeReference: Type<TSTypeReference>;
1470
+ let TSHasOptionalTypeParameters: Type<TSHasOptionalTypeParameters>;
1471
+ let TSHasOptionalTypeAnnotation: Type<TSHasOptionalTypeAnnotation>;
1472
+ let TSAsExpression: Type<TSAsExpression>;
1473
+ let TSNonNullExpression: Type<TSNonNullExpression>;
1474
+ let TSAnyKeyword: Type<TSAnyKeyword>;
1475
+ let TSBigIntKeyword: Type<TSBigIntKeyword>;
1476
+ let TSBooleanKeyword: Type<TSBooleanKeyword>;
1477
+ let TSNeverKeyword: Type<TSNeverKeyword>;
1478
+ let TSNullKeyword: Type<TSNullKeyword>;
1479
+ let TSNumberKeyword: Type<TSNumberKeyword>;
1480
+ let TSObjectKeyword: Type<TSObjectKeyword>;
1481
+ let TSStringKeyword: Type<TSStringKeyword>;
1482
+ let TSSymbolKeyword: Type<TSSymbolKeyword>;
1483
+ let TSUndefinedKeyword: Type<TSUndefinedKeyword>;
1484
+ let TSUnknownKeyword: Type<TSUnknownKeyword>;
1485
+ let TSVoidKeyword: Type<TSVoidKeyword>;
1486
+ let TSThisType: Type<TSThisType>;
1487
+ let TSArrayType: Type<TSArrayType>;
1488
+ let TSLiteralType: Type<TSLiteralType>;
1489
+ let TSUnionType: Type<TSUnionType>;
1490
+ let TSIntersectionType: Type<TSIntersectionType>;
1491
+ let TSConditionalType: Type<TSConditionalType>;
1492
+ let TSInferType: Type<TSInferType>;
1493
+ let TSTypeParameter: Type<TSTypeParameter>;
1494
+ let TSParenthesizedType: Type<TSParenthesizedType>;
1495
+ let TSFunctionType: Type<TSFunctionType>;
1496
+ let TSConstructorType: Type<TSConstructorType>;
1497
+ let TSDeclareFunction: Type<TSDeclareFunction>;
1498
+ let TSDeclareMethod: Type<TSDeclareMethod>;
1499
+ let TSMappedType: Type<TSMappedType>;
1500
+ let TSTupleType: Type<TSTupleType>;
1501
+ let TSRestType: Type<TSRestType>;
1502
+ let TSOptionalType: Type<TSOptionalType>;
1503
+ let TSIndexedAccessType: Type<TSIndexedAccessType>;
1504
+ let TSTypeOperator: Type<TSTypeOperator>;
1505
+ let TSIndexSignature: Type<TSIndexSignature>;
1506
+ let TSPropertySignature: Type<TSPropertySignature>;
1507
+ let TSMethodSignature: Type<TSMethodSignature>;
1508
+ let TSTypePredicate: Type<TSTypePredicate>;
1509
+ let TSCallSignatureDeclaration: Type<TSCallSignatureDeclaration>;
1510
+ let TSConstructSignatureDeclaration: Type<TSConstructSignatureDeclaration>;
1511
+ let TSEnumMember: Type<TSEnumMember>;
1512
+ let TSTypeQuery: Type<TSTypeQuery>;
1513
+ let TSImportType: Type<TSImportType>;
1514
+ let TSTypeLiteral: Type<TSTypeLiteral>;
1515
+ let TSTypeAssertion: Type<TSTypeAssertion>;
1516
+ let TSEnumDeclaration: Type<TSEnumDeclaration>;
1517
+ let TSTypeAliasDeclaration: Type<TSTypeAliasDeclaration>;
1518
+ let TSModuleBlock: Type<TSModuleBlock>;
1519
+ let TSModuleDeclaration: Type<TSModuleDeclaration>;
1520
+ let TSImportEqualsDeclaration: Type<TSImportEqualsDeclaration>;
1521
+ let TSExternalModuleReference: Type<TSExternalModuleReference>;
1522
+ let TSExportAssignment: Type<TSExportAssignment>;
1523
+ let TSNamespaceExportDeclaration: Type<TSNamespaceExportDeclaration>;
1524
+ let TSInterfaceBody: Type<TSInterfaceBody>;
1525
+ let TSInterfaceDeclaration: Type<TSInterfaceDeclaration>;
1526
+ let TSParameterProperty: Type<TSParameterProperty>;
1527
+ let OptionalMemberExpression: Type<OptionalMemberExpression>;
1528
+ let OptionalCallExpression: Type<OptionalCallExpression>;
1529
+ }
3
1530
  export interface NamedTypes {
4
- Printable: Type<N.Printable>;
5
- SourceLocation: Type<N.SourceLocation>;
6
- Node: Type<N.Node>;
7
- Comment: Type<N.Comment>;
8
- Position: Type<N.Position>;
9
- File: Type<N.File>;
10
- Program: Type<N.Program>;
11
- Statement: Type<N.Statement>;
12
- Function: Type<N.Function>;
13
- Pattern: Type<N.Pattern>;
14
- Expression: Type<N.Expression>;
15
- Identifier: Type<N.Identifier>;
16
- BlockStatement: Type<N.BlockStatement>;
17
- EmptyStatement: Type<N.EmptyStatement>;
18
- ExpressionStatement: Type<N.ExpressionStatement>;
19
- IfStatement: Type<N.IfStatement>;
20
- LabeledStatement: Type<N.LabeledStatement>;
21
- BreakStatement: Type<N.BreakStatement>;
22
- ContinueStatement: Type<N.ContinueStatement>;
23
- WithStatement: Type<N.WithStatement>;
24
- SwitchStatement: Type<N.SwitchStatement>;
25
- SwitchCase: Type<N.SwitchCase>;
26
- ReturnStatement: Type<N.ReturnStatement>;
27
- ThrowStatement: Type<N.ThrowStatement>;
28
- TryStatement: Type<N.TryStatement>;
29
- CatchClause: Type<N.CatchClause>;
30
- WhileStatement: Type<N.WhileStatement>;
31
- DoWhileStatement: Type<N.DoWhileStatement>;
32
- ForStatement: Type<N.ForStatement>;
33
- Declaration: Type<N.Declaration>;
34
- VariableDeclaration: Type<N.VariableDeclaration>;
35
- ForInStatement: Type<N.ForInStatement>;
36
- DebuggerStatement: Type<N.DebuggerStatement>;
37
- FunctionDeclaration: Type<N.FunctionDeclaration>;
38
- FunctionExpression: Type<N.FunctionExpression>;
39
- VariableDeclarator: Type<N.VariableDeclarator>;
40
- ThisExpression: Type<N.ThisExpression>;
41
- ArrayExpression: Type<N.ArrayExpression>;
42
- ObjectExpression: Type<N.ObjectExpression>;
43
- Property: Type<N.Property>;
44
- Literal: Type<N.Literal>;
45
- SequenceExpression: Type<N.SequenceExpression>;
46
- UnaryExpression: Type<N.UnaryExpression>;
47
- BinaryExpression: Type<N.BinaryExpression>;
48
- AssignmentExpression: Type<N.AssignmentExpression>;
49
- UpdateExpression: Type<N.UpdateExpression>;
50
- LogicalExpression: Type<N.LogicalExpression>;
51
- ConditionalExpression: Type<N.ConditionalExpression>;
52
- NewExpression: Type<N.NewExpression>;
53
- CallExpression: Type<N.CallExpression>;
54
- MemberExpression: Type<N.MemberExpression>;
55
- RestElement: Type<N.RestElement>;
56
- TypeAnnotation: Type<N.TypeAnnotation>;
57
- TSTypeAnnotation: Type<N.TSTypeAnnotation>;
58
- SpreadElementPattern: Type<N.SpreadElementPattern>;
59
- ArrowFunctionExpression: Type<N.ArrowFunctionExpression>;
60
- ForOfStatement: Type<N.ForOfStatement>;
61
- YieldExpression: Type<N.YieldExpression>;
62
- GeneratorExpression: Type<N.GeneratorExpression>;
63
- ComprehensionBlock: Type<N.ComprehensionBlock>;
64
- ComprehensionExpression: Type<N.ComprehensionExpression>;
65
- ObjectProperty: Type<N.ObjectProperty>;
66
- PropertyPattern: Type<N.PropertyPattern>;
67
- ObjectPattern: Type<N.ObjectPattern>;
68
- ArrayPattern: Type<N.ArrayPattern>;
69
- MethodDefinition: Type<N.MethodDefinition>;
70
- SpreadElement: Type<N.SpreadElement>;
71
- AssignmentPattern: Type<N.AssignmentPattern>;
72
- ClassPropertyDefinition: Type<N.ClassPropertyDefinition>;
73
- ClassProperty: Type<N.ClassProperty>;
74
- ClassBody: Type<N.ClassBody>;
75
- ClassDeclaration: Type<N.ClassDeclaration>;
76
- ClassExpression: Type<N.ClassExpression>;
77
- Specifier: Type<N.Specifier>;
78
- ModuleSpecifier: Type<N.ModuleSpecifier>;
79
- ImportSpecifier: Type<N.ImportSpecifier>;
80
- ImportNamespaceSpecifier: Type<N.ImportNamespaceSpecifier>;
81
- ImportDefaultSpecifier: Type<N.ImportDefaultSpecifier>;
82
- ImportDeclaration: Type<N.ImportDeclaration>;
83
- TaggedTemplateExpression: Type<N.TaggedTemplateExpression>;
84
- TemplateLiteral: Type<N.TemplateLiteral>;
85
- TemplateElement: Type<N.TemplateElement>;
86
- SpreadProperty: Type<N.SpreadProperty>;
87
- SpreadPropertyPattern: Type<N.SpreadPropertyPattern>;
88
- AwaitExpression: Type<N.AwaitExpression>;
89
- JSXAttribute: Type<N.JSXAttribute>;
90
- JSXIdentifier: Type<N.JSXIdentifier>;
91
- JSXNamespacedName: Type<N.JSXNamespacedName>;
92
- JSXExpressionContainer: Type<N.JSXExpressionContainer>;
93
- JSXMemberExpression: Type<N.JSXMemberExpression>;
94
- JSXSpreadAttribute: Type<N.JSXSpreadAttribute>;
95
- JSXElement: Type<N.JSXElement>;
96
- JSXOpeningElement: Type<N.JSXOpeningElement>;
97
- JSXClosingElement: Type<N.JSXClosingElement>;
98
- JSXFragment: Type<N.JSXFragment>;
99
- JSXText: Type<N.JSXText>;
100
- JSXOpeningFragment: Type<N.JSXOpeningFragment>;
101
- JSXClosingFragment: Type<N.JSXClosingFragment>;
102
- JSXEmptyExpression: Type<N.JSXEmptyExpression>;
103
- JSXSpreadChild: Type<N.JSXSpreadChild>;
104
- TypeParameterDeclaration: Type<N.TypeParameterDeclaration>;
105
- TSTypeParameterDeclaration: Type<N.TSTypeParameterDeclaration>;
106
- TypeParameterInstantiation: Type<N.TypeParameterInstantiation>;
107
- TSTypeParameterInstantiation: Type<N.TSTypeParameterInstantiation>;
108
- ClassImplements: Type<N.ClassImplements>;
109
- TSType: Type<N.TSType>;
110
- TSHasOptionalTypeParameterInstantiation: Type<N.TSHasOptionalTypeParameterInstantiation>;
111
- TSExpressionWithTypeArguments: Type<N.TSExpressionWithTypeArguments>;
112
- Flow: Type<N.Flow>;
113
- FlowType: Type<N.FlowType>;
114
- AnyTypeAnnotation: Type<N.AnyTypeAnnotation>;
115
- EmptyTypeAnnotation: Type<N.EmptyTypeAnnotation>;
116
- MixedTypeAnnotation: Type<N.MixedTypeAnnotation>;
117
- VoidTypeAnnotation: Type<N.VoidTypeAnnotation>;
118
- NumberTypeAnnotation: Type<N.NumberTypeAnnotation>;
119
- NumberLiteralTypeAnnotation: Type<N.NumberLiteralTypeAnnotation>;
120
- NumericLiteralTypeAnnotation: Type<N.NumericLiteralTypeAnnotation>;
121
- StringTypeAnnotation: Type<N.StringTypeAnnotation>;
122
- StringLiteralTypeAnnotation: Type<N.StringLiteralTypeAnnotation>;
123
- BooleanTypeAnnotation: Type<N.BooleanTypeAnnotation>;
124
- BooleanLiteralTypeAnnotation: Type<N.BooleanLiteralTypeAnnotation>;
125
- NullableTypeAnnotation: Type<N.NullableTypeAnnotation>;
126
- NullLiteralTypeAnnotation: Type<N.NullLiteralTypeAnnotation>;
127
- NullTypeAnnotation: Type<N.NullTypeAnnotation>;
128
- ThisTypeAnnotation: Type<N.ThisTypeAnnotation>;
129
- ExistsTypeAnnotation: Type<N.ExistsTypeAnnotation>;
130
- ExistentialTypeParam: Type<N.ExistentialTypeParam>;
131
- FunctionTypeAnnotation: Type<N.FunctionTypeAnnotation>;
132
- FunctionTypeParam: Type<N.FunctionTypeParam>;
133
- ArrayTypeAnnotation: Type<N.ArrayTypeAnnotation>;
134
- ObjectTypeAnnotation: Type<N.ObjectTypeAnnotation>;
135
- ObjectTypeProperty: Type<N.ObjectTypeProperty>;
136
- ObjectTypeSpreadProperty: Type<N.ObjectTypeSpreadProperty>;
137
- ObjectTypeIndexer: Type<N.ObjectTypeIndexer>;
138
- ObjectTypeCallProperty: Type<N.ObjectTypeCallProperty>;
139
- ObjectTypeInternalSlot: Type<N.ObjectTypeInternalSlot>;
140
- Variance: Type<N.Variance>;
141
- QualifiedTypeIdentifier: Type<N.QualifiedTypeIdentifier>;
142
- GenericTypeAnnotation: Type<N.GenericTypeAnnotation>;
143
- MemberTypeAnnotation: Type<N.MemberTypeAnnotation>;
144
- UnionTypeAnnotation: Type<N.UnionTypeAnnotation>;
145
- IntersectionTypeAnnotation: Type<N.IntersectionTypeAnnotation>;
146
- TypeofTypeAnnotation: Type<N.TypeofTypeAnnotation>;
147
- TypeParameter: Type<N.TypeParameter>;
148
- InterfaceTypeAnnotation: Type<N.InterfaceTypeAnnotation>;
149
- InterfaceExtends: Type<N.InterfaceExtends>;
150
- InterfaceDeclaration: Type<N.InterfaceDeclaration>;
151
- DeclareInterface: Type<N.DeclareInterface>;
152
- TypeAlias: Type<N.TypeAlias>;
153
- OpaqueType: Type<N.OpaqueType>;
154
- DeclareTypeAlias: Type<N.DeclareTypeAlias>;
155
- DeclareOpaqueType: Type<N.DeclareOpaqueType>;
156
- TypeCastExpression: Type<N.TypeCastExpression>;
157
- TupleTypeAnnotation: Type<N.TupleTypeAnnotation>;
158
- DeclareVariable: Type<N.DeclareVariable>;
159
- DeclareFunction: Type<N.DeclareFunction>;
160
- DeclareClass: Type<N.DeclareClass>;
161
- DeclareModule: Type<N.DeclareModule>;
162
- DeclareModuleExports: Type<N.DeclareModuleExports>;
163
- DeclareExportDeclaration: Type<N.DeclareExportDeclaration>;
164
- ExportSpecifier: Type<N.ExportSpecifier>;
165
- ExportBatchSpecifier: Type<N.ExportBatchSpecifier>;
166
- DeclareExportAllDeclaration: Type<N.DeclareExportAllDeclaration>;
167
- FlowPredicate: Type<N.FlowPredicate>;
168
- InferredPredicate: Type<N.InferredPredicate>;
169
- DeclaredPredicate: Type<N.DeclaredPredicate>;
170
- ExportDeclaration: Type<N.ExportDeclaration>;
171
- Block: Type<N.Block>;
172
- Line: Type<N.Line>;
173
- Noop: Type<N.Noop>;
174
- DoExpression: Type<N.DoExpression>;
175
- Super: Type<N.Super>;
176
- BindExpression: Type<N.BindExpression>;
177
- Decorator: Type<N.Decorator>;
178
- MetaProperty: Type<N.MetaProperty>;
179
- ParenthesizedExpression: Type<N.ParenthesizedExpression>;
180
- ExportDefaultDeclaration: Type<N.ExportDefaultDeclaration>;
181
- ExportNamedDeclaration: Type<N.ExportNamedDeclaration>;
182
- ExportNamespaceSpecifier: Type<N.ExportNamespaceSpecifier>;
183
- ExportDefaultSpecifier: Type<N.ExportDefaultSpecifier>;
184
- ExportAllDeclaration: Type<N.ExportAllDeclaration>;
185
- CommentBlock: Type<N.CommentBlock>;
186
- CommentLine: Type<N.CommentLine>;
187
- Directive: Type<N.Directive>;
188
- DirectiveLiteral: Type<N.DirectiveLiteral>;
189
- InterpreterDirective: Type<N.InterpreterDirective>;
190
- StringLiteral: Type<N.StringLiteral>;
191
- NumericLiteral: Type<N.NumericLiteral>;
192
- BigIntLiteral: Type<N.BigIntLiteral>;
193
- NullLiteral: Type<N.NullLiteral>;
194
- BooleanLiteral: Type<N.BooleanLiteral>;
195
- RegExpLiteral: Type<N.RegExpLiteral>;
196
- ObjectMethod: Type<N.ObjectMethod>;
197
- ClassPrivateProperty: Type<N.ClassPrivateProperty>;
198
- ClassMethod: Type<N.ClassMethod>;
199
- ClassPrivateMethod: Type<N.ClassPrivateMethod>;
200
- PrivateName: Type<N.PrivateName>;
201
- RestProperty: Type<N.RestProperty>;
202
- ForAwaitStatement: Type<N.ForAwaitStatement>;
203
- Import: Type<N.Import>;
204
- TSQualifiedName: Type<N.TSQualifiedName>;
205
- TSTypeReference: Type<N.TSTypeReference>;
206
- TSHasOptionalTypeParameters: Type<N.TSHasOptionalTypeParameters>;
207
- TSHasOptionalTypeAnnotation: Type<N.TSHasOptionalTypeAnnotation>;
208
- TSAsExpression: Type<N.TSAsExpression>;
209
- TSNonNullExpression: Type<N.TSNonNullExpression>;
210
- TSAnyKeyword: Type<N.TSAnyKeyword>;
211
- TSBigIntKeyword: Type<N.TSBigIntKeyword>;
212
- TSBooleanKeyword: Type<N.TSBooleanKeyword>;
213
- TSNeverKeyword: Type<N.TSNeverKeyword>;
214
- TSNullKeyword: Type<N.TSNullKeyword>;
215
- TSNumberKeyword: Type<N.TSNumberKeyword>;
216
- TSObjectKeyword: Type<N.TSObjectKeyword>;
217
- TSStringKeyword: Type<N.TSStringKeyword>;
218
- TSSymbolKeyword: Type<N.TSSymbolKeyword>;
219
- TSUndefinedKeyword: Type<N.TSUndefinedKeyword>;
220
- TSUnknownKeyword: Type<N.TSUnknownKeyword>;
221
- TSVoidKeyword: Type<N.TSVoidKeyword>;
222
- TSThisType: Type<N.TSThisType>;
223
- TSArrayType: Type<N.TSArrayType>;
224
- TSLiteralType: Type<N.TSLiteralType>;
225
- TSUnionType: Type<N.TSUnionType>;
226
- TSIntersectionType: Type<N.TSIntersectionType>;
227
- TSConditionalType: Type<N.TSConditionalType>;
228
- TSInferType: Type<N.TSInferType>;
229
- TSTypeParameter: Type<N.TSTypeParameter>;
230
- TSParenthesizedType: Type<N.TSParenthesizedType>;
231
- TSFunctionType: Type<N.TSFunctionType>;
232
- TSConstructorType: Type<N.TSConstructorType>;
233
- TSDeclareFunction: Type<N.TSDeclareFunction>;
234
- TSDeclareMethod: Type<N.TSDeclareMethod>;
235
- TSMappedType: Type<N.TSMappedType>;
236
- TSTupleType: Type<N.TSTupleType>;
237
- TSRestType: Type<N.TSRestType>;
238
- TSOptionalType: Type<N.TSOptionalType>;
239
- TSIndexedAccessType: Type<N.TSIndexedAccessType>;
240
- TSTypeOperator: Type<N.TSTypeOperator>;
241
- TSIndexSignature: Type<N.TSIndexSignature>;
242
- TSPropertySignature: Type<N.TSPropertySignature>;
243
- TSMethodSignature: Type<N.TSMethodSignature>;
244
- TSTypePredicate: Type<N.TSTypePredicate>;
245
- TSCallSignatureDeclaration: Type<N.TSCallSignatureDeclaration>;
246
- TSConstructSignatureDeclaration: Type<N.TSConstructSignatureDeclaration>;
247
- TSEnumMember: Type<N.TSEnumMember>;
248
- TSTypeQuery: Type<N.TSTypeQuery>;
249
- TSImportType: Type<N.TSImportType>;
250
- TSTypeLiteral: Type<N.TSTypeLiteral>;
251
- TSTypeAssertion: Type<N.TSTypeAssertion>;
252
- TSEnumDeclaration: Type<N.TSEnumDeclaration>;
253
- TSTypeAliasDeclaration: Type<N.TSTypeAliasDeclaration>;
254
- TSModuleBlock: Type<N.TSModuleBlock>;
255
- TSModuleDeclaration: Type<N.TSModuleDeclaration>;
256
- TSImportEqualsDeclaration: Type<N.TSImportEqualsDeclaration>;
257
- TSExternalModuleReference: Type<N.TSExternalModuleReference>;
258
- TSExportAssignment: Type<N.TSExportAssignment>;
259
- TSNamespaceExportDeclaration: Type<N.TSNamespaceExportDeclaration>;
260
- TSInterfaceBody: Type<N.TSInterfaceBody>;
261
- TSInterfaceDeclaration: Type<N.TSInterfaceDeclaration>;
262
- TSParameterProperty: Type<N.TSParameterProperty>;
263
- OptionalMemberExpression: Type<N.OptionalMemberExpression>;
264
- OptionalCallExpression: Type<N.OptionalCallExpression>;
1531
+ Printable: Type<namedTypes.Printable>;
1532
+ SourceLocation: Type<namedTypes.SourceLocation>;
1533
+ Node: Type<namedTypes.Node>;
1534
+ Comment: Type<namedTypes.Comment>;
1535
+ Position: Type<namedTypes.Position>;
1536
+ File: Type<namedTypes.File>;
1537
+ Program: Type<namedTypes.Program>;
1538
+ Statement: Type<namedTypes.Statement>;
1539
+ Function: Type<namedTypes.Function>;
1540
+ Expression: Type<namedTypes.Expression>;
1541
+ Pattern: Type<namedTypes.Pattern>;
1542
+ Identifier: Type<namedTypes.Identifier>;
1543
+ BlockStatement: Type<namedTypes.BlockStatement>;
1544
+ EmptyStatement: Type<namedTypes.EmptyStatement>;
1545
+ ExpressionStatement: Type<namedTypes.ExpressionStatement>;
1546
+ IfStatement: Type<namedTypes.IfStatement>;
1547
+ LabeledStatement: Type<namedTypes.LabeledStatement>;
1548
+ BreakStatement: Type<namedTypes.BreakStatement>;
1549
+ ContinueStatement: Type<namedTypes.ContinueStatement>;
1550
+ WithStatement: Type<namedTypes.WithStatement>;
1551
+ SwitchStatement: Type<namedTypes.SwitchStatement>;
1552
+ SwitchCase: Type<namedTypes.SwitchCase>;
1553
+ ReturnStatement: Type<namedTypes.ReturnStatement>;
1554
+ ThrowStatement: Type<namedTypes.ThrowStatement>;
1555
+ TryStatement: Type<namedTypes.TryStatement>;
1556
+ CatchClause: Type<namedTypes.CatchClause>;
1557
+ WhileStatement: Type<namedTypes.WhileStatement>;
1558
+ DoWhileStatement: Type<namedTypes.DoWhileStatement>;
1559
+ ForStatement: Type<namedTypes.ForStatement>;
1560
+ Declaration: Type<namedTypes.Declaration>;
1561
+ VariableDeclaration: Type<namedTypes.VariableDeclaration>;
1562
+ ForInStatement: Type<namedTypes.ForInStatement>;
1563
+ DebuggerStatement: Type<namedTypes.DebuggerStatement>;
1564
+ FunctionDeclaration: Type<namedTypes.FunctionDeclaration>;
1565
+ FunctionExpression: Type<namedTypes.FunctionExpression>;
1566
+ VariableDeclarator: Type<namedTypes.VariableDeclarator>;
1567
+ ThisExpression: Type<namedTypes.ThisExpression>;
1568
+ ArrayExpression: Type<namedTypes.ArrayExpression>;
1569
+ ObjectExpression: Type<namedTypes.ObjectExpression>;
1570
+ Property: Type<namedTypes.Property>;
1571
+ Literal: Type<namedTypes.Literal>;
1572
+ SequenceExpression: Type<namedTypes.SequenceExpression>;
1573
+ UnaryExpression: Type<namedTypes.UnaryExpression>;
1574
+ BinaryExpression: Type<namedTypes.BinaryExpression>;
1575
+ AssignmentExpression: Type<namedTypes.AssignmentExpression>;
1576
+ MemberExpression: Type<namedTypes.MemberExpression>;
1577
+ UpdateExpression: Type<namedTypes.UpdateExpression>;
1578
+ LogicalExpression: Type<namedTypes.LogicalExpression>;
1579
+ ConditionalExpression: Type<namedTypes.ConditionalExpression>;
1580
+ NewExpression: Type<namedTypes.NewExpression>;
1581
+ CallExpression: Type<namedTypes.CallExpression>;
1582
+ RestElement: Type<namedTypes.RestElement>;
1583
+ TypeAnnotation: Type<namedTypes.TypeAnnotation>;
1584
+ TSTypeAnnotation: Type<namedTypes.TSTypeAnnotation>;
1585
+ SpreadElementPattern: Type<namedTypes.SpreadElementPattern>;
1586
+ ArrowFunctionExpression: Type<namedTypes.ArrowFunctionExpression>;
1587
+ ForOfStatement: Type<namedTypes.ForOfStatement>;
1588
+ YieldExpression: Type<namedTypes.YieldExpression>;
1589
+ GeneratorExpression: Type<namedTypes.GeneratorExpression>;
1590
+ ComprehensionBlock: Type<namedTypes.ComprehensionBlock>;
1591
+ ComprehensionExpression: Type<namedTypes.ComprehensionExpression>;
1592
+ ObjectProperty: Type<namedTypes.ObjectProperty>;
1593
+ PropertyPattern: Type<namedTypes.PropertyPattern>;
1594
+ ObjectPattern: Type<namedTypes.ObjectPattern>;
1595
+ ArrayPattern: Type<namedTypes.ArrayPattern>;
1596
+ MethodDefinition: Type<namedTypes.MethodDefinition>;
1597
+ SpreadElement: Type<namedTypes.SpreadElement>;
1598
+ AssignmentPattern: Type<namedTypes.AssignmentPattern>;
1599
+ ClassPropertyDefinition: Type<namedTypes.ClassPropertyDefinition>;
1600
+ ClassProperty: Type<namedTypes.ClassProperty>;
1601
+ ClassBody: Type<namedTypes.ClassBody>;
1602
+ ClassDeclaration: Type<namedTypes.ClassDeclaration>;
1603
+ ClassExpression: Type<namedTypes.ClassExpression>;
1604
+ Specifier: Type<namedTypes.Specifier>;
1605
+ ModuleSpecifier: Type<namedTypes.ModuleSpecifier>;
1606
+ ImportSpecifier: Type<namedTypes.ImportSpecifier>;
1607
+ ImportNamespaceSpecifier: Type<namedTypes.ImportNamespaceSpecifier>;
1608
+ ImportDefaultSpecifier: Type<namedTypes.ImportDefaultSpecifier>;
1609
+ ImportDeclaration: Type<namedTypes.ImportDeclaration>;
1610
+ TaggedTemplateExpression: Type<namedTypes.TaggedTemplateExpression>;
1611
+ TemplateLiteral: Type<namedTypes.TemplateLiteral>;
1612
+ TemplateElement: Type<namedTypes.TemplateElement>;
1613
+ SpreadProperty: Type<namedTypes.SpreadProperty>;
1614
+ SpreadPropertyPattern: Type<namedTypes.SpreadPropertyPattern>;
1615
+ AwaitExpression: Type<namedTypes.AwaitExpression>;
1616
+ JSXAttribute: Type<namedTypes.JSXAttribute>;
1617
+ JSXIdentifier: Type<namedTypes.JSXIdentifier>;
1618
+ JSXNamespacedName: Type<namedTypes.JSXNamespacedName>;
1619
+ JSXExpressionContainer: Type<namedTypes.JSXExpressionContainer>;
1620
+ JSXMemberExpression: Type<namedTypes.JSXMemberExpression>;
1621
+ JSXSpreadAttribute: Type<namedTypes.JSXSpreadAttribute>;
1622
+ JSXElement: Type<namedTypes.JSXElement>;
1623
+ JSXOpeningElement: Type<namedTypes.JSXOpeningElement>;
1624
+ JSXClosingElement: Type<namedTypes.JSXClosingElement>;
1625
+ JSXFragment: Type<namedTypes.JSXFragment>;
1626
+ JSXText: Type<namedTypes.JSXText>;
1627
+ JSXOpeningFragment: Type<namedTypes.JSXOpeningFragment>;
1628
+ JSXClosingFragment: Type<namedTypes.JSXClosingFragment>;
1629
+ JSXEmptyExpression: Type<namedTypes.JSXEmptyExpression>;
1630
+ JSXSpreadChild: Type<namedTypes.JSXSpreadChild>;
1631
+ TypeParameterDeclaration: Type<namedTypes.TypeParameterDeclaration>;
1632
+ TSTypeParameterDeclaration: Type<namedTypes.TSTypeParameterDeclaration>;
1633
+ TypeParameterInstantiation: Type<namedTypes.TypeParameterInstantiation>;
1634
+ TSTypeParameterInstantiation: Type<namedTypes.TSTypeParameterInstantiation>;
1635
+ ClassImplements: Type<namedTypes.ClassImplements>;
1636
+ TSType: Type<namedTypes.TSType>;
1637
+ TSHasOptionalTypeParameterInstantiation: Type<namedTypes.TSHasOptionalTypeParameterInstantiation>;
1638
+ TSExpressionWithTypeArguments: Type<namedTypes.TSExpressionWithTypeArguments>;
1639
+ Flow: Type<namedTypes.Flow>;
1640
+ FlowType: Type<namedTypes.FlowType>;
1641
+ AnyTypeAnnotation: Type<namedTypes.AnyTypeAnnotation>;
1642
+ EmptyTypeAnnotation: Type<namedTypes.EmptyTypeAnnotation>;
1643
+ MixedTypeAnnotation: Type<namedTypes.MixedTypeAnnotation>;
1644
+ VoidTypeAnnotation: Type<namedTypes.VoidTypeAnnotation>;
1645
+ NumberTypeAnnotation: Type<namedTypes.NumberTypeAnnotation>;
1646
+ NumberLiteralTypeAnnotation: Type<namedTypes.NumberLiteralTypeAnnotation>;
1647
+ NumericLiteralTypeAnnotation: Type<namedTypes.NumericLiteralTypeAnnotation>;
1648
+ StringTypeAnnotation: Type<namedTypes.StringTypeAnnotation>;
1649
+ StringLiteralTypeAnnotation: Type<namedTypes.StringLiteralTypeAnnotation>;
1650
+ BooleanTypeAnnotation: Type<namedTypes.BooleanTypeAnnotation>;
1651
+ BooleanLiteralTypeAnnotation: Type<namedTypes.BooleanLiteralTypeAnnotation>;
1652
+ NullableTypeAnnotation: Type<namedTypes.NullableTypeAnnotation>;
1653
+ NullLiteralTypeAnnotation: Type<namedTypes.NullLiteralTypeAnnotation>;
1654
+ NullTypeAnnotation: Type<namedTypes.NullTypeAnnotation>;
1655
+ ThisTypeAnnotation: Type<namedTypes.ThisTypeAnnotation>;
1656
+ ExistsTypeAnnotation: Type<namedTypes.ExistsTypeAnnotation>;
1657
+ ExistentialTypeParam: Type<namedTypes.ExistentialTypeParam>;
1658
+ FunctionTypeAnnotation: Type<namedTypes.FunctionTypeAnnotation>;
1659
+ FunctionTypeParam: Type<namedTypes.FunctionTypeParam>;
1660
+ ArrayTypeAnnotation: Type<namedTypes.ArrayTypeAnnotation>;
1661
+ ObjectTypeAnnotation: Type<namedTypes.ObjectTypeAnnotation>;
1662
+ ObjectTypeProperty: Type<namedTypes.ObjectTypeProperty>;
1663
+ ObjectTypeSpreadProperty: Type<namedTypes.ObjectTypeSpreadProperty>;
1664
+ ObjectTypeIndexer: Type<namedTypes.ObjectTypeIndexer>;
1665
+ ObjectTypeCallProperty: Type<namedTypes.ObjectTypeCallProperty>;
1666
+ ObjectTypeInternalSlot: Type<namedTypes.ObjectTypeInternalSlot>;
1667
+ Variance: Type<namedTypes.Variance>;
1668
+ QualifiedTypeIdentifier: Type<namedTypes.QualifiedTypeIdentifier>;
1669
+ GenericTypeAnnotation: Type<namedTypes.GenericTypeAnnotation>;
1670
+ MemberTypeAnnotation: Type<namedTypes.MemberTypeAnnotation>;
1671
+ UnionTypeAnnotation: Type<namedTypes.UnionTypeAnnotation>;
1672
+ IntersectionTypeAnnotation: Type<namedTypes.IntersectionTypeAnnotation>;
1673
+ TypeofTypeAnnotation: Type<namedTypes.TypeofTypeAnnotation>;
1674
+ TypeParameter: Type<namedTypes.TypeParameter>;
1675
+ InterfaceTypeAnnotation: Type<namedTypes.InterfaceTypeAnnotation>;
1676
+ InterfaceExtends: Type<namedTypes.InterfaceExtends>;
1677
+ InterfaceDeclaration: Type<namedTypes.InterfaceDeclaration>;
1678
+ DeclareInterface: Type<namedTypes.DeclareInterface>;
1679
+ TypeAlias: Type<namedTypes.TypeAlias>;
1680
+ OpaqueType: Type<namedTypes.OpaqueType>;
1681
+ DeclareTypeAlias: Type<namedTypes.DeclareTypeAlias>;
1682
+ DeclareOpaqueType: Type<namedTypes.DeclareOpaqueType>;
1683
+ TypeCastExpression: Type<namedTypes.TypeCastExpression>;
1684
+ TupleTypeAnnotation: Type<namedTypes.TupleTypeAnnotation>;
1685
+ DeclareVariable: Type<namedTypes.DeclareVariable>;
1686
+ DeclareFunction: Type<namedTypes.DeclareFunction>;
1687
+ DeclareClass: Type<namedTypes.DeclareClass>;
1688
+ DeclareModule: Type<namedTypes.DeclareModule>;
1689
+ DeclareModuleExports: Type<namedTypes.DeclareModuleExports>;
1690
+ DeclareExportDeclaration: Type<namedTypes.DeclareExportDeclaration>;
1691
+ ExportSpecifier: Type<namedTypes.ExportSpecifier>;
1692
+ ExportBatchSpecifier: Type<namedTypes.ExportBatchSpecifier>;
1693
+ DeclareExportAllDeclaration: Type<namedTypes.DeclareExportAllDeclaration>;
1694
+ FlowPredicate: Type<namedTypes.FlowPredicate>;
1695
+ InferredPredicate: Type<namedTypes.InferredPredicate>;
1696
+ DeclaredPredicate: Type<namedTypes.DeclaredPredicate>;
1697
+ ExportDeclaration: Type<namedTypes.ExportDeclaration>;
1698
+ Block: Type<namedTypes.Block>;
1699
+ Line: Type<namedTypes.Line>;
1700
+ Noop: Type<namedTypes.Noop>;
1701
+ DoExpression: Type<namedTypes.DoExpression>;
1702
+ Super: Type<namedTypes.Super>;
1703
+ BindExpression: Type<namedTypes.BindExpression>;
1704
+ Decorator: Type<namedTypes.Decorator>;
1705
+ MetaProperty: Type<namedTypes.MetaProperty>;
1706
+ ParenthesizedExpression: Type<namedTypes.ParenthesizedExpression>;
1707
+ ExportDefaultDeclaration: Type<namedTypes.ExportDefaultDeclaration>;
1708
+ ExportNamedDeclaration: Type<namedTypes.ExportNamedDeclaration>;
1709
+ ExportNamespaceSpecifier: Type<namedTypes.ExportNamespaceSpecifier>;
1710
+ ExportDefaultSpecifier: Type<namedTypes.ExportDefaultSpecifier>;
1711
+ ExportAllDeclaration: Type<namedTypes.ExportAllDeclaration>;
1712
+ CommentBlock: Type<namedTypes.CommentBlock>;
1713
+ CommentLine: Type<namedTypes.CommentLine>;
1714
+ Directive: Type<namedTypes.Directive>;
1715
+ DirectiveLiteral: Type<namedTypes.DirectiveLiteral>;
1716
+ InterpreterDirective: Type<namedTypes.InterpreterDirective>;
1717
+ StringLiteral: Type<namedTypes.StringLiteral>;
1718
+ NumericLiteral: Type<namedTypes.NumericLiteral>;
1719
+ BigIntLiteral: Type<namedTypes.BigIntLiteral>;
1720
+ NullLiteral: Type<namedTypes.NullLiteral>;
1721
+ BooleanLiteral: Type<namedTypes.BooleanLiteral>;
1722
+ RegExpLiteral: Type<namedTypes.RegExpLiteral>;
1723
+ ObjectMethod: Type<namedTypes.ObjectMethod>;
1724
+ ClassPrivateProperty: Type<namedTypes.ClassPrivateProperty>;
1725
+ ClassMethod: Type<namedTypes.ClassMethod>;
1726
+ ClassPrivateMethod: Type<namedTypes.ClassPrivateMethod>;
1727
+ PrivateName: Type<namedTypes.PrivateName>;
1728
+ RestProperty: Type<namedTypes.RestProperty>;
1729
+ ForAwaitStatement: Type<namedTypes.ForAwaitStatement>;
1730
+ Import: Type<namedTypes.Import>;
1731
+ TSQualifiedName: Type<namedTypes.TSQualifiedName>;
1732
+ TSTypeReference: Type<namedTypes.TSTypeReference>;
1733
+ TSHasOptionalTypeParameters: Type<namedTypes.TSHasOptionalTypeParameters>;
1734
+ TSHasOptionalTypeAnnotation: Type<namedTypes.TSHasOptionalTypeAnnotation>;
1735
+ TSAsExpression: Type<namedTypes.TSAsExpression>;
1736
+ TSNonNullExpression: Type<namedTypes.TSNonNullExpression>;
1737
+ TSAnyKeyword: Type<namedTypes.TSAnyKeyword>;
1738
+ TSBigIntKeyword: Type<namedTypes.TSBigIntKeyword>;
1739
+ TSBooleanKeyword: Type<namedTypes.TSBooleanKeyword>;
1740
+ TSNeverKeyword: Type<namedTypes.TSNeverKeyword>;
1741
+ TSNullKeyword: Type<namedTypes.TSNullKeyword>;
1742
+ TSNumberKeyword: Type<namedTypes.TSNumberKeyword>;
1743
+ TSObjectKeyword: Type<namedTypes.TSObjectKeyword>;
1744
+ TSStringKeyword: Type<namedTypes.TSStringKeyword>;
1745
+ TSSymbolKeyword: Type<namedTypes.TSSymbolKeyword>;
1746
+ TSUndefinedKeyword: Type<namedTypes.TSUndefinedKeyword>;
1747
+ TSUnknownKeyword: Type<namedTypes.TSUnknownKeyword>;
1748
+ TSVoidKeyword: Type<namedTypes.TSVoidKeyword>;
1749
+ TSThisType: Type<namedTypes.TSThisType>;
1750
+ TSArrayType: Type<namedTypes.TSArrayType>;
1751
+ TSLiteralType: Type<namedTypes.TSLiteralType>;
1752
+ TSUnionType: Type<namedTypes.TSUnionType>;
1753
+ TSIntersectionType: Type<namedTypes.TSIntersectionType>;
1754
+ TSConditionalType: Type<namedTypes.TSConditionalType>;
1755
+ TSInferType: Type<namedTypes.TSInferType>;
1756
+ TSTypeParameter: Type<namedTypes.TSTypeParameter>;
1757
+ TSParenthesizedType: Type<namedTypes.TSParenthesizedType>;
1758
+ TSFunctionType: Type<namedTypes.TSFunctionType>;
1759
+ TSConstructorType: Type<namedTypes.TSConstructorType>;
1760
+ TSDeclareFunction: Type<namedTypes.TSDeclareFunction>;
1761
+ TSDeclareMethod: Type<namedTypes.TSDeclareMethod>;
1762
+ TSMappedType: Type<namedTypes.TSMappedType>;
1763
+ TSTupleType: Type<namedTypes.TSTupleType>;
1764
+ TSRestType: Type<namedTypes.TSRestType>;
1765
+ TSOptionalType: Type<namedTypes.TSOptionalType>;
1766
+ TSIndexedAccessType: Type<namedTypes.TSIndexedAccessType>;
1767
+ TSTypeOperator: Type<namedTypes.TSTypeOperator>;
1768
+ TSIndexSignature: Type<namedTypes.TSIndexSignature>;
1769
+ TSPropertySignature: Type<namedTypes.TSPropertySignature>;
1770
+ TSMethodSignature: Type<namedTypes.TSMethodSignature>;
1771
+ TSTypePredicate: Type<namedTypes.TSTypePredicate>;
1772
+ TSCallSignatureDeclaration: Type<namedTypes.TSCallSignatureDeclaration>;
1773
+ TSConstructSignatureDeclaration: Type<namedTypes.TSConstructSignatureDeclaration>;
1774
+ TSEnumMember: Type<namedTypes.TSEnumMember>;
1775
+ TSTypeQuery: Type<namedTypes.TSTypeQuery>;
1776
+ TSImportType: Type<namedTypes.TSImportType>;
1777
+ TSTypeLiteral: Type<namedTypes.TSTypeLiteral>;
1778
+ TSTypeAssertion: Type<namedTypes.TSTypeAssertion>;
1779
+ TSEnumDeclaration: Type<namedTypes.TSEnumDeclaration>;
1780
+ TSTypeAliasDeclaration: Type<namedTypes.TSTypeAliasDeclaration>;
1781
+ TSModuleBlock: Type<namedTypes.TSModuleBlock>;
1782
+ TSModuleDeclaration: Type<namedTypes.TSModuleDeclaration>;
1783
+ TSImportEqualsDeclaration: Type<namedTypes.TSImportEqualsDeclaration>;
1784
+ TSExternalModuleReference: Type<namedTypes.TSExternalModuleReference>;
1785
+ TSExportAssignment: Type<namedTypes.TSExportAssignment>;
1786
+ TSNamespaceExportDeclaration: Type<namedTypes.TSNamespaceExportDeclaration>;
1787
+ TSInterfaceBody: Type<namedTypes.TSInterfaceBody>;
1788
+ TSInterfaceDeclaration: Type<namedTypes.TSInterfaceDeclaration>;
1789
+ TSParameterProperty: Type<namedTypes.TSParameterProperty>;
1790
+ OptionalMemberExpression: Type<namedTypes.OptionalMemberExpression>;
1791
+ OptionalCallExpression: Type<namedTypes.OptionalCallExpression>;
265
1792
  }