ast-types 0.11.5 → 0.12.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.
Files changed (57) hide show
  1. package/.travis.yml +2 -2
  2. package/def/babel-core.d.ts +2 -0
  3. package/def/babel-core.js +250 -290
  4. package/def/babel.d.ts +2 -0
  5. package/def/babel.js +12 -3
  6. package/def/core.d.ts +2 -0
  7. package/def/core.js +57 -126
  8. package/def/es-proposals.d.ts +2 -0
  9. package/def/es-proposals.js +34 -32
  10. package/def/es6.d.ts +2 -0
  11. package/def/es6.js +210 -253
  12. package/def/es7.d.ts +2 -0
  13. package/def/es7.js +35 -41
  14. package/def/esprima.d.ts +2 -0
  15. package/def/esprima.js +50 -71
  16. package/def/flow.d.ts +2 -0
  17. package/def/flow.js +289 -393
  18. package/def/jsx.d.ts +2 -0
  19. package/def/jsx.js +99 -125
  20. package/def/type-annotations.d.ts +7 -0
  21. package/def/type-annotations.js +42 -0
  22. package/def/typescript.d.ts +2 -0
  23. package/def/typescript.js +326 -444
  24. package/fork.d.ts +46 -0
  25. package/fork.js +40 -31
  26. package/gen/builders.d.ts +2539 -0
  27. package/gen/builders.js +2 -0
  28. package/gen/kinds.d.ts +259 -0
  29. package/gen/kinds.js +2 -0
  30. package/gen/namedTypes.d.ts +262 -0
  31. package/gen/namedTypes.js +2 -0
  32. package/gen/nodes.d.ts +1255 -0
  33. package/gen/nodes.js +2 -0
  34. package/gen/visitor.d.ts +263 -0
  35. package/gen/visitor.js +2 -0
  36. package/lib/equiv.d.ts +5 -0
  37. package/lib/equiv.js +19 -49
  38. package/lib/node-path.d.ts +22 -0
  39. package/lib/node-path.js +60 -125
  40. package/lib/path-visitor.d.ts +52 -0
  41. package/lib/path-visitor.js +117 -194
  42. package/lib/path.d.ts +25 -0
  43. package/lib/path.js +71 -107
  44. package/lib/scope.d.ts +26 -0
  45. package/lib/scope.js +100 -143
  46. package/lib/shared.d.ts +13 -0
  47. package/lib/shared.js +34 -31
  48. package/lib/types.d.ts +140 -0
  49. package/lib/types.js +584 -676
  50. package/main.d.ts +16 -0
  51. package/main.js +33 -18
  52. package/package.json +24 -7
  53. package/tsconfig.json +20 -0
  54. package/types.d.ts +6 -0
  55. package/types.js +2 -0
  56. package/def/e4x.js +0 -86
  57. package/def/mozilla.js +0 -42
@@ -0,0 +1,2539 @@
1
+ import * as K from "./kinds";
2
+ import * as N from "./nodes";
3
+ export interface FileBuilder {
4
+ (program: K.ProgramKind, name?: string | null): N.File;
5
+ from(params: {
6
+ comments?: K.CommentKind[] | null;
7
+ loc?: K.SourceLocationKind | null;
8
+ name?: string | null;
9
+ program: K.ProgramKind;
10
+ }): N.File;
11
+ }
12
+ export interface ProgramBuilder {
13
+ (body: K.StatementKind[]): N.Program;
14
+ from(params: {
15
+ body: K.StatementKind[];
16
+ comments?: K.CommentKind[] | null;
17
+ directives?: K.DirectiveKind[];
18
+ interpreter?: K.InterpreterDirectiveKind | null;
19
+ loc?: K.SourceLocationKind | null;
20
+ }): N.Program;
21
+ }
22
+ export interface IdentifierBuilder {
23
+ (name: string): N.Identifier;
24
+ from(params: {
25
+ comments?: K.CommentKind[] | null;
26
+ loc?: K.SourceLocationKind | null;
27
+ name: string;
28
+ optional?: boolean;
29
+ typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
30
+ }): N.Identifier;
31
+ }
32
+ export interface BlockStatementBuilder {
33
+ (body: K.StatementKind[]): N.BlockStatement;
34
+ from(params: {
35
+ body: K.StatementKind[];
36
+ comments?: K.CommentKind[] | null;
37
+ directives?: K.DirectiveKind[];
38
+ loc?: K.SourceLocationKind | null;
39
+ }): N.BlockStatement;
40
+ }
41
+ export interface EmptyStatementBuilder {
42
+ (): N.EmptyStatement;
43
+ from(params: {
44
+ comments?: K.CommentKind[] | null;
45
+ loc?: K.SourceLocationKind | null;
46
+ }): N.EmptyStatement;
47
+ }
48
+ export interface ExpressionStatementBuilder {
49
+ (expression: K.ExpressionKind): N.ExpressionStatement;
50
+ from(params: {
51
+ comments?: K.CommentKind[] | null;
52
+ expression: K.ExpressionKind;
53
+ loc?: K.SourceLocationKind | null;
54
+ }): N.ExpressionStatement;
55
+ }
56
+ export interface IfStatementBuilder {
57
+ (test: K.ExpressionKind, consequent: K.StatementKind, alternate?: K.StatementKind | null): N.IfStatement;
58
+ from(params: {
59
+ alternate?: K.StatementKind | null;
60
+ comments?: K.CommentKind[] | null;
61
+ consequent: K.StatementKind;
62
+ loc?: K.SourceLocationKind | null;
63
+ test: K.ExpressionKind;
64
+ }): N.IfStatement;
65
+ }
66
+ export interface LabeledStatementBuilder {
67
+ (label: K.IdentifierKind, body: K.StatementKind): N.LabeledStatement;
68
+ from(params: {
69
+ body: K.StatementKind;
70
+ comments?: K.CommentKind[] | null;
71
+ label: K.IdentifierKind;
72
+ loc?: K.SourceLocationKind | null;
73
+ }): N.LabeledStatement;
74
+ }
75
+ export interface BreakStatementBuilder {
76
+ (label?: K.IdentifierKind | null): N.BreakStatement;
77
+ from(params: {
78
+ comments?: K.CommentKind[] | null;
79
+ label?: K.IdentifierKind | null;
80
+ loc?: K.SourceLocationKind | null;
81
+ }): N.BreakStatement;
82
+ }
83
+ export interface ContinueStatementBuilder {
84
+ (label?: K.IdentifierKind | null): N.ContinueStatement;
85
+ from(params: {
86
+ comments?: K.CommentKind[] | null;
87
+ label?: K.IdentifierKind | null;
88
+ loc?: K.SourceLocationKind | null;
89
+ }): N.ContinueStatement;
90
+ }
91
+ export interface WithStatementBuilder {
92
+ (object: K.ExpressionKind, body: K.StatementKind): N.WithStatement;
93
+ from(params: {
94
+ body: K.StatementKind;
95
+ comments?: K.CommentKind[] | null;
96
+ loc?: K.SourceLocationKind | null;
97
+ object: K.ExpressionKind;
98
+ }): N.WithStatement;
99
+ }
100
+ export interface SwitchStatementBuilder {
101
+ (discriminant: K.ExpressionKind, cases: K.SwitchCaseKind[], lexical?: boolean): N.SwitchStatement;
102
+ from(params: {
103
+ cases: K.SwitchCaseKind[];
104
+ comments?: K.CommentKind[] | null;
105
+ discriminant: K.ExpressionKind;
106
+ lexical?: boolean;
107
+ loc?: K.SourceLocationKind | null;
108
+ }): N.SwitchStatement;
109
+ }
110
+ export interface SwitchCaseBuilder {
111
+ (test: K.ExpressionKind | null, consequent: K.StatementKind[]): N.SwitchCase;
112
+ from(params: {
113
+ comments?: K.CommentKind[] | null;
114
+ consequent: K.StatementKind[];
115
+ loc?: K.SourceLocationKind | null;
116
+ test: K.ExpressionKind | null;
117
+ }): N.SwitchCase;
118
+ }
119
+ export interface ReturnStatementBuilder {
120
+ (argument: K.ExpressionKind | null): N.ReturnStatement;
121
+ from(params: {
122
+ argument: K.ExpressionKind | null;
123
+ comments?: K.CommentKind[] | null;
124
+ loc?: K.SourceLocationKind | null;
125
+ }): N.ReturnStatement;
126
+ }
127
+ export interface ThrowStatementBuilder {
128
+ (argument: K.ExpressionKind): N.ThrowStatement;
129
+ from(params: {
130
+ argument: K.ExpressionKind;
131
+ comments?: K.CommentKind[] | null;
132
+ loc?: K.SourceLocationKind | null;
133
+ }): N.ThrowStatement;
134
+ }
135
+ export interface TryStatementBuilder {
136
+ (block: K.BlockStatementKind, handler?: K.CatchClauseKind | null, finalizer?: K.BlockStatementKind | null): N.TryStatement;
137
+ from(params: {
138
+ block: K.BlockStatementKind;
139
+ comments?: K.CommentKind[] | null;
140
+ finalizer?: K.BlockStatementKind | null;
141
+ guardedHandlers?: K.CatchClauseKind[];
142
+ handler?: K.CatchClauseKind | null;
143
+ handlers?: K.CatchClauseKind[];
144
+ loc?: K.SourceLocationKind | null;
145
+ }): N.TryStatement;
146
+ }
147
+ export interface CatchClauseBuilder {
148
+ (param: K.PatternKind | null | undefined, guard: K.ExpressionKind | null | undefined, body: K.BlockStatementKind): N.CatchClause;
149
+ from(params: {
150
+ body: K.BlockStatementKind;
151
+ comments?: K.CommentKind[] | null;
152
+ guard?: K.ExpressionKind | null;
153
+ loc?: K.SourceLocationKind | null;
154
+ param?: K.PatternKind | null;
155
+ }): N.CatchClause;
156
+ }
157
+ export interface WhileStatementBuilder {
158
+ (test: K.ExpressionKind, body: K.StatementKind): N.WhileStatement;
159
+ from(params: {
160
+ body: K.StatementKind;
161
+ comments?: K.CommentKind[] | null;
162
+ loc?: K.SourceLocationKind | null;
163
+ test: K.ExpressionKind;
164
+ }): N.WhileStatement;
165
+ }
166
+ export interface DoWhileStatementBuilder {
167
+ (body: K.StatementKind, test: K.ExpressionKind): N.DoWhileStatement;
168
+ from(params: {
169
+ body: K.StatementKind;
170
+ comments?: K.CommentKind[] | null;
171
+ loc?: K.SourceLocationKind | null;
172
+ test: K.ExpressionKind;
173
+ }): N.DoWhileStatement;
174
+ }
175
+ export interface ForStatementBuilder {
176
+ (init: K.VariableDeclarationKind | K.ExpressionKind | null, test: K.ExpressionKind | null, update: K.ExpressionKind | null, body: K.StatementKind): N.ForStatement;
177
+ from(params: {
178
+ body: K.StatementKind;
179
+ comments?: K.CommentKind[] | null;
180
+ init: K.VariableDeclarationKind | K.ExpressionKind | null;
181
+ loc?: K.SourceLocationKind | null;
182
+ test: K.ExpressionKind | null;
183
+ update: K.ExpressionKind | null;
184
+ }): N.ForStatement;
185
+ }
186
+ export interface VariableDeclarationBuilder {
187
+ (kind: "var" | "let" | "const", declarations: (K.VariableDeclaratorKind | K.IdentifierKind)[]): N.VariableDeclaration;
188
+ from(params: {
189
+ comments?: K.CommentKind[] | null;
190
+ declarations: (K.VariableDeclaratorKind | K.IdentifierKind)[];
191
+ kind: "var" | "let" | "const";
192
+ loc?: K.SourceLocationKind | null;
193
+ }): N.VariableDeclaration;
194
+ }
195
+ export interface ForInStatementBuilder {
196
+ (left: K.VariableDeclarationKind | K.ExpressionKind, right: K.ExpressionKind, body: K.StatementKind): N.ForInStatement;
197
+ from(params: {
198
+ body: K.StatementKind;
199
+ comments?: K.CommentKind[] | null;
200
+ left: K.VariableDeclarationKind | K.ExpressionKind;
201
+ loc?: K.SourceLocationKind | null;
202
+ right: K.ExpressionKind;
203
+ }): N.ForInStatement;
204
+ }
205
+ export interface DebuggerStatementBuilder {
206
+ (): N.DebuggerStatement;
207
+ from(params: {
208
+ comments?: K.CommentKind[] | null;
209
+ loc?: K.SourceLocationKind | null;
210
+ }): N.DebuggerStatement;
211
+ }
212
+ export interface FunctionDeclarationBuilder {
213
+ (id: K.IdentifierKind, params: K.PatternKind[], body: K.BlockStatementKind, generator?: boolean, expression?: boolean): N.FunctionDeclaration;
214
+ from(params: {
215
+ async?: boolean;
216
+ body: K.BlockStatementKind;
217
+ comments?: K.CommentKind[] | null;
218
+ defaults?: (K.ExpressionKind | null)[];
219
+ expression?: boolean;
220
+ generator?: boolean;
221
+ id: K.IdentifierKind;
222
+ loc?: K.SourceLocationKind | null;
223
+ params: K.PatternKind[];
224
+ rest?: K.IdentifierKind | null;
225
+ returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
226
+ typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
227
+ }): N.FunctionDeclaration;
228
+ }
229
+ export interface FunctionExpressionBuilder {
230
+ (id: K.IdentifierKind | null | undefined, params: K.PatternKind[], body: K.BlockStatementKind, generator?: boolean, expression?: boolean): N.FunctionExpression;
231
+ from(params: {
232
+ async?: boolean;
233
+ body: K.BlockStatementKind;
234
+ comments?: K.CommentKind[] | null;
235
+ defaults?: (K.ExpressionKind | null)[];
236
+ expression?: boolean;
237
+ generator?: boolean;
238
+ id?: K.IdentifierKind | null;
239
+ loc?: K.SourceLocationKind | null;
240
+ params: K.PatternKind[];
241
+ rest?: K.IdentifierKind | null;
242
+ returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
243
+ typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
244
+ }): N.FunctionExpression;
245
+ }
246
+ export interface VariableDeclaratorBuilder {
247
+ (id: K.PatternKind, init?: K.ExpressionKind | null): N.VariableDeclarator;
248
+ from(params: {
249
+ comments?: K.CommentKind[] | null;
250
+ id: K.PatternKind;
251
+ init?: K.ExpressionKind | null;
252
+ loc?: K.SourceLocationKind | null;
253
+ }): N.VariableDeclarator;
254
+ }
255
+ export interface ThisExpressionBuilder {
256
+ (): N.ThisExpression;
257
+ from(params: {
258
+ comments?: K.CommentKind[] | null;
259
+ loc?: K.SourceLocationKind | null;
260
+ }): N.ThisExpression;
261
+ }
262
+ export interface ArrayExpressionBuilder {
263
+ (elements: (K.ExpressionKind | K.SpreadElementKind | K.RestElementKind | null)[]): N.ArrayExpression;
264
+ from(params: {
265
+ comments?: K.CommentKind[] | null;
266
+ elements: (K.ExpressionKind | K.SpreadElementKind | K.RestElementKind | null)[];
267
+ loc?: K.SourceLocationKind | null;
268
+ }): N.ArrayExpression;
269
+ }
270
+ export interface ObjectExpressionBuilder {
271
+ (properties: (K.PropertyKind | K.ObjectMethodKind | K.ObjectPropertyKind | K.SpreadPropertyKind | K.SpreadElementKind)[]): N.ObjectExpression;
272
+ from(params: {
273
+ comments?: K.CommentKind[] | null;
274
+ loc?: K.SourceLocationKind | null;
275
+ properties: (K.PropertyKind | K.ObjectMethodKind | K.ObjectPropertyKind | K.SpreadPropertyKind | K.SpreadElementKind)[];
276
+ }): N.ObjectExpression;
277
+ }
278
+ export interface PropertyBuilder {
279
+ (kind: "init" | "get" | "set", key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, value: K.ExpressionKind | K.PatternKind): N.Property;
280
+ from(params: {
281
+ comments?: K.CommentKind[] | null;
282
+ computed?: boolean;
283
+ decorators?: K.DecoratorKind[] | null;
284
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
285
+ kind: "init" | "get" | "set";
286
+ loc?: K.SourceLocationKind | null;
287
+ method?: boolean;
288
+ shorthand?: boolean;
289
+ value: K.ExpressionKind | K.PatternKind;
290
+ }): N.Property;
291
+ }
292
+ export interface LiteralBuilder {
293
+ (value: string | boolean | null | number | RegExp): N.Literal;
294
+ from(params: {
295
+ comments?: K.CommentKind[] | null;
296
+ loc?: K.SourceLocationKind | null;
297
+ regex?: {
298
+ pattern: string;
299
+ flags: string;
300
+ } | null;
301
+ value: string | boolean | null | number | RegExp;
302
+ }): N.Literal;
303
+ }
304
+ export interface SequenceExpressionBuilder {
305
+ (expressions: K.ExpressionKind[]): N.SequenceExpression;
306
+ from(params: {
307
+ comments?: K.CommentKind[] | null;
308
+ expressions: K.ExpressionKind[];
309
+ loc?: K.SourceLocationKind | null;
310
+ }): N.SequenceExpression;
311
+ }
312
+ export interface UnaryExpressionBuilder {
313
+ (operator: "-" | "+" | "!" | "~" | "typeof" | "void" | "delete", argument: K.ExpressionKind, prefix?: boolean): N.UnaryExpression;
314
+ from(params: {
315
+ argument: K.ExpressionKind;
316
+ comments?: K.CommentKind[] | null;
317
+ loc?: K.SourceLocationKind | null;
318
+ operator: "-" | "+" | "!" | "~" | "typeof" | "void" | "delete";
319
+ prefix?: boolean;
320
+ }): N.UnaryExpression;
321
+ }
322
+ export interface BinaryExpressionBuilder {
323
+ (operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "in" | "instanceof" | "..", left: K.ExpressionKind, right: K.ExpressionKind): N.BinaryExpression;
324
+ from(params: {
325
+ comments?: K.CommentKind[] | null;
326
+ left: K.ExpressionKind;
327
+ loc?: K.SourceLocationKind | null;
328
+ operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "in" | "instanceof" | "..";
329
+ right: K.ExpressionKind;
330
+ }): N.BinaryExpression;
331
+ }
332
+ export interface AssignmentExpressionBuilder {
333
+ (operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=", left: K.PatternKind, right: K.ExpressionKind): N.AssignmentExpression;
334
+ from(params: {
335
+ comments?: K.CommentKind[] | null;
336
+ left: K.PatternKind;
337
+ loc?: K.SourceLocationKind | null;
338
+ operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=";
339
+ right: K.ExpressionKind;
340
+ }): N.AssignmentExpression;
341
+ }
342
+ export interface UpdateExpressionBuilder {
343
+ (operator: "++" | "--", argument: K.ExpressionKind, prefix: boolean): N.UpdateExpression;
344
+ from(params: {
345
+ argument: K.ExpressionKind;
346
+ comments?: K.CommentKind[] | null;
347
+ loc?: K.SourceLocationKind | null;
348
+ operator: "++" | "--";
349
+ prefix: boolean;
350
+ }): N.UpdateExpression;
351
+ }
352
+ export interface LogicalExpressionBuilder {
353
+ (operator: "||" | "&&" | "??", left: K.ExpressionKind, right: K.ExpressionKind): N.LogicalExpression;
354
+ from(params: {
355
+ comments?: K.CommentKind[] | null;
356
+ left: K.ExpressionKind;
357
+ loc?: K.SourceLocationKind | null;
358
+ operator: "||" | "&&" | "??";
359
+ right: K.ExpressionKind;
360
+ }): N.LogicalExpression;
361
+ }
362
+ export interface ConditionalExpressionBuilder {
363
+ (test: K.ExpressionKind, consequent: K.ExpressionKind, alternate: K.ExpressionKind): N.ConditionalExpression;
364
+ from(params: {
365
+ alternate: K.ExpressionKind;
366
+ comments?: K.CommentKind[] | null;
367
+ consequent: K.ExpressionKind;
368
+ loc?: K.SourceLocationKind | null;
369
+ test: K.ExpressionKind;
370
+ }): N.ConditionalExpression;
371
+ }
372
+ export interface NewExpressionBuilder {
373
+ (callee: K.ExpressionKind, argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[]): N.NewExpression;
374
+ from(params: {
375
+ arguments: (K.ExpressionKind | K.SpreadElementKind)[];
376
+ callee: K.ExpressionKind;
377
+ comments?: K.CommentKind[] | null;
378
+ loc?: K.SourceLocationKind | null;
379
+ }): N.NewExpression;
380
+ }
381
+ export interface CallExpressionBuilder {
382
+ (callee: K.ExpressionKind, argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[]): N.CallExpression;
383
+ from(params: {
384
+ arguments: (K.ExpressionKind | K.SpreadElementKind)[];
385
+ callee: K.ExpressionKind;
386
+ comments?: K.CommentKind[] | null;
387
+ loc?: K.SourceLocationKind | null;
388
+ }): N.CallExpression;
389
+ }
390
+ export interface MemberExpressionBuilder {
391
+ (object: K.ExpressionKind, property: K.IdentifierKind | K.ExpressionKind, computed?: boolean): N.MemberExpression;
392
+ from(params: {
393
+ comments?: K.CommentKind[] | null;
394
+ computed?: boolean;
395
+ loc?: K.SourceLocationKind | null;
396
+ object: K.ExpressionKind;
397
+ property: K.IdentifierKind | K.ExpressionKind;
398
+ }): N.MemberExpression;
399
+ }
400
+ export interface RestElementBuilder {
401
+ (argument: K.PatternKind): N.RestElement;
402
+ from(params: {
403
+ argument: K.PatternKind;
404
+ comments?: K.CommentKind[] | null;
405
+ loc?: K.SourceLocationKind | null;
406
+ typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
407
+ }): N.RestElement;
408
+ }
409
+ export interface TypeAnnotationBuilder {
410
+ (typeAnnotation: K.FlowTypeKind): N.TypeAnnotation;
411
+ from(params: {
412
+ comments?: K.CommentKind[] | null;
413
+ loc?: K.SourceLocationKind | null;
414
+ typeAnnotation: K.FlowTypeKind;
415
+ }): N.TypeAnnotation;
416
+ }
417
+ export interface TSTypeAnnotationBuilder {
418
+ (typeAnnotation: K.TSTypeKind | K.TSTypeAnnotationKind): N.TSTypeAnnotation;
419
+ from(params: {
420
+ comments?: K.CommentKind[] | null;
421
+ loc?: K.SourceLocationKind | null;
422
+ typeAnnotation: K.TSTypeKind | K.TSTypeAnnotationKind;
423
+ }): N.TSTypeAnnotation;
424
+ }
425
+ export interface SpreadElementPatternBuilder {
426
+ (argument: K.PatternKind): N.SpreadElementPattern;
427
+ from(params: {
428
+ argument: K.PatternKind;
429
+ comments?: K.CommentKind[] | null;
430
+ loc?: K.SourceLocationKind | null;
431
+ }): N.SpreadElementPattern;
432
+ }
433
+ export interface ArrowFunctionExpressionBuilder {
434
+ (params: K.PatternKind[], body: K.BlockStatementKind | K.ExpressionKind, expression?: boolean): N.ArrowFunctionExpression;
435
+ from(params: {
436
+ async?: boolean;
437
+ body: K.BlockStatementKind | K.ExpressionKind;
438
+ comments?: K.CommentKind[] | null;
439
+ defaults?: (K.ExpressionKind | null)[];
440
+ expression?: boolean;
441
+ generator?: false;
442
+ id?: null;
443
+ loc?: K.SourceLocationKind | null;
444
+ params: K.PatternKind[];
445
+ rest?: K.IdentifierKind | null;
446
+ returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
447
+ typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
448
+ }): N.ArrowFunctionExpression;
449
+ }
450
+ export interface ForOfStatementBuilder {
451
+ (left: K.VariableDeclarationKind | K.PatternKind, right: K.ExpressionKind, body: K.StatementKind): N.ForOfStatement;
452
+ from(params: {
453
+ body: K.StatementKind;
454
+ comments?: K.CommentKind[] | null;
455
+ left: K.VariableDeclarationKind | K.PatternKind;
456
+ loc?: K.SourceLocationKind | null;
457
+ right: K.ExpressionKind;
458
+ }): N.ForOfStatement;
459
+ }
460
+ export interface YieldExpressionBuilder {
461
+ (argument: K.ExpressionKind | null, delegate?: boolean): N.YieldExpression;
462
+ from(params: {
463
+ argument: K.ExpressionKind | null;
464
+ comments?: K.CommentKind[] | null;
465
+ delegate?: boolean;
466
+ loc?: K.SourceLocationKind | null;
467
+ }): N.YieldExpression;
468
+ }
469
+ export interface GeneratorExpressionBuilder {
470
+ (body: K.ExpressionKind, blocks: K.ComprehensionBlockKind[], filter: K.ExpressionKind | null): N.GeneratorExpression;
471
+ from(params: {
472
+ blocks: K.ComprehensionBlockKind[];
473
+ body: K.ExpressionKind;
474
+ comments?: K.CommentKind[] | null;
475
+ filter: K.ExpressionKind | null;
476
+ loc?: K.SourceLocationKind | null;
477
+ }): N.GeneratorExpression;
478
+ }
479
+ export interface ComprehensionBlockBuilder {
480
+ (left: K.PatternKind, right: K.ExpressionKind, each: boolean): N.ComprehensionBlock;
481
+ from(params: {
482
+ comments?: K.CommentKind[] | null;
483
+ each: boolean;
484
+ left: K.PatternKind;
485
+ loc?: K.SourceLocationKind | null;
486
+ right: K.ExpressionKind;
487
+ }): N.ComprehensionBlock;
488
+ }
489
+ export interface ComprehensionExpressionBuilder {
490
+ (body: K.ExpressionKind, blocks: K.ComprehensionBlockKind[], filter: K.ExpressionKind | null): N.ComprehensionExpression;
491
+ from(params: {
492
+ blocks: K.ComprehensionBlockKind[];
493
+ body: K.ExpressionKind;
494
+ comments?: K.CommentKind[] | null;
495
+ filter: K.ExpressionKind | null;
496
+ loc?: K.SourceLocationKind | null;
497
+ }): N.ComprehensionExpression;
498
+ }
499
+ export interface ObjectPropertyBuilder {
500
+ (key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, value: K.ExpressionKind | K.PatternKind): N.ObjectProperty;
501
+ from(params: {
502
+ accessibility?: K.LiteralKind | null;
503
+ comments?: K.CommentKind[] | null;
504
+ computed?: boolean;
505
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
506
+ loc?: K.SourceLocationKind | null;
507
+ shorthand?: boolean;
508
+ value: K.ExpressionKind | K.PatternKind;
509
+ }): N.ObjectProperty;
510
+ }
511
+ export interface PropertyPatternBuilder {
512
+ (key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, pattern: K.PatternKind): N.PropertyPattern;
513
+ from(params: {
514
+ comments?: K.CommentKind[] | null;
515
+ computed?: boolean;
516
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
517
+ loc?: K.SourceLocationKind | null;
518
+ pattern: K.PatternKind;
519
+ }): N.PropertyPattern;
520
+ }
521
+ export interface ObjectPatternBuilder {
522
+ (properties: (K.PropertyKind | K.PropertyPatternKind | K.SpreadPropertyPatternKind | K.SpreadPropertyKind | K.ObjectPropertyKind | K.RestPropertyKind)[]): N.ObjectPattern;
523
+ from(params: {
524
+ comments?: K.CommentKind[] | null;
525
+ decorators?: K.DecoratorKind[] | null;
526
+ loc?: K.SourceLocationKind | null;
527
+ properties: (K.PropertyKind | K.PropertyPatternKind | K.SpreadPropertyPatternKind | K.SpreadPropertyKind | K.ObjectPropertyKind | K.RestPropertyKind)[];
528
+ typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
529
+ }): N.ObjectPattern;
530
+ }
531
+ export interface ArrayPatternBuilder {
532
+ (elements: (K.PatternKind | K.SpreadElementKind | null)[]): N.ArrayPattern;
533
+ from(params: {
534
+ comments?: K.CommentKind[] | null;
535
+ elements: (K.PatternKind | K.SpreadElementKind | null)[];
536
+ loc?: K.SourceLocationKind | null;
537
+ }): N.ArrayPattern;
538
+ }
539
+ export interface MethodDefinitionBuilder {
540
+ (kind: "constructor" | "method" | "get" | "set", key: K.ExpressionKind, value: K.FunctionKind, staticParam?: boolean): N.MethodDefinition;
541
+ from(params: {
542
+ comments?: K.CommentKind[] | null;
543
+ computed?: boolean;
544
+ decorators?: K.DecoratorKind[] | null;
545
+ key: K.ExpressionKind;
546
+ kind: "constructor" | "method" | "get" | "set";
547
+ loc?: K.SourceLocationKind | null;
548
+ static?: boolean;
549
+ value: K.FunctionKind;
550
+ }): N.MethodDefinition;
551
+ }
552
+ export interface SpreadElementBuilder {
553
+ (argument: K.ExpressionKind): N.SpreadElement;
554
+ from(params: {
555
+ argument: K.ExpressionKind;
556
+ comments?: K.CommentKind[] | null;
557
+ loc?: K.SourceLocationKind | null;
558
+ }): N.SpreadElement;
559
+ }
560
+ export interface AssignmentPatternBuilder {
561
+ (left: K.PatternKind, right: K.ExpressionKind): N.AssignmentPattern;
562
+ from(params: {
563
+ comments?: K.CommentKind[] | null;
564
+ left: K.PatternKind;
565
+ loc?: K.SourceLocationKind | null;
566
+ right: K.ExpressionKind;
567
+ }): N.AssignmentPattern;
568
+ }
569
+ export interface ClassPropertyDefinitionBuilder {
570
+ (definition: K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind): N.ClassPropertyDefinition;
571
+ from(params: {
572
+ comments?: K.CommentKind[] | null;
573
+ definition: K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind;
574
+ loc?: K.SourceLocationKind | null;
575
+ }): N.ClassPropertyDefinition;
576
+ }
577
+ export interface ClassPropertyBuilder {
578
+ (key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, value: K.ExpressionKind | null, typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null, staticParam?: boolean): N.ClassProperty;
579
+ from(params: {
580
+ comments?: K.CommentKind[] | null;
581
+ computed?: boolean;
582
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
583
+ loc?: K.SourceLocationKind | null;
584
+ static?: boolean;
585
+ typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
586
+ value: K.ExpressionKind | null;
587
+ variance?: K.VarianceKind | "plus" | "minus" | null;
588
+ }): N.ClassProperty;
589
+ }
590
+ export interface ClassBodyBuilder {
591
+ (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)[]): N.ClassBody;
592
+ from(params: {
593
+ 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)[];
594
+ comments?: K.CommentKind[] | null;
595
+ loc?: K.SourceLocationKind | null;
596
+ }): N.ClassBody;
597
+ }
598
+ export interface ClassDeclarationBuilder {
599
+ (id: K.IdentifierKind | null, body: K.ClassBodyKind, superClass?: K.ExpressionKind | null): N.ClassDeclaration;
600
+ from(params: {
601
+ body: K.ClassBodyKind;
602
+ comments?: K.CommentKind[] | null;
603
+ id: K.IdentifierKind | null;
604
+ implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[];
605
+ loc?: K.SourceLocationKind | null;
606
+ superClass?: K.ExpressionKind | null;
607
+ superTypeParameters?: K.TypeParameterInstantiationKind | K.TSTypeParameterInstantiationKind | null;
608
+ typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
609
+ }): N.ClassDeclaration;
610
+ }
611
+ export interface ClassExpressionBuilder {
612
+ (id: K.IdentifierKind | null | undefined, body: K.ClassBodyKind, superClass?: K.ExpressionKind | null): N.ClassExpression;
613
+ from(params: {
614
+ body: K.ClassBodyKind;
615
+ comments?: K.CommentKind[] | null;
616
+ id?: K.IdentifierKind | null;
617
+ implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[];
618
+ loc?: K.SourceLocationKind | null;
619
+ superClass?: K.ExpressionKind | null;
620
+ superTypeParameters?: K.TypeParameterInstantiationKind | K.TSTypeParameterInstantiationKind | null;
621
+ typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
622
+ }): N.ClassExpression;
623
+ }
624
+ export interface ImportSpecifierBuilder {
625
+ (imported: K.IdentifierKind, local?: K.IdentifierKind | null): N.ImportSpecifier;
626
+ from(params: {
627
+ comments?: K.CommentKind[] | null;
628
+ id?: K.IdentifierKind | null;
629
+ imported: K.IdentifierKind;
630
+ loc?: K.SourceLocationKind | null;
631
+ local?: K.IdentifierKind | null;
632
+ name?: K.IdentifierKind | null;
633
+ }): N.ImportSpecifier;
634
+ }
635
+ export interface ImportNamespaceSpecifierBuilder {
636
+ (local?: K.IdentifierKind | null): N.ImportNamespaceSpecifier;
637
+ from(params: {
638
+ comments?: K.CommentKind[] | null;
639
+ id?: K.IdentifierKind | null;
640
+ loc?: K.SourceLocationKind | null;
641
+ local?: K.IdentifierKind | null;
642
+ name?: K.IdentifierKind | null;
643
+ }): N.ImportNamespaceSpecifier;
644
+ }
645
+ export interface ImportDefaultSpecifierBuilder {
646
+ (local?: K.IdentifierKind | null): N.ImportDefaultSpecifier;
647
+ from(params: {
648
+ comments?: K.CommentKind[] | null;
649
+ id?: K.IdentifierKind | null;
650
+ loc?: K.SourceLocationKind | null;
651
+ local?: K.IdentifierKind | null;
652
+ name?: K.IdentifierKind | null;
653
+ }): N.ImportDefaultSpecifier;
654
+ }
655
+ export interface ImportDeclarationBuilder {
656
+ (specifiers: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[] | undefined, source: K.LiteralKind, importKind?: "value" | "type"): N.ImportDeclaration;
657
+ from(params: {
658
+ comments?: K.CommentKind[] | null;
659
+ importKind?: "value" | "type";
660
+ loc?: K.SourceLocationKind | null;
661
+ source: K.LiteralKind;
662
+ specifiers?: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[];
663
+ }): N.ImportDeclaration;
664
+ }
665
+ export interface TaggedTemplateExpressionBuilder {
666
+ (tag: K.ExpressionKind, quasi: K.TemplateLiteralKind): N.TaggedTemplateExpression;
667
+ from(params: {
668
+ comments?: K.CommentKind[] | null;
669
+ loc?: K.SourceLocationKind | null;
670
+ quasi: K.TemplateLiteralKind;
671
+ tag: K.ExpressionKind;
672
+ }): N.TaggedTemplateExpression;
673
+ }
674
+ export interface TemplateLiteralBuilder {
675
+ (quasis: K.TemplateElementKind[], expressions: K.ExpressionKind[]): N.TemplateLiteral;
676
+ from(params: {
677
+ comments?: K.CommentKind[] | null;
678
+ expressions: K.ExpressionKind[];
679
+ loc?: K.SourceLocationKind | null;
680
+ quasis: K.TemplateElementKind[];
681
+ }): N.TemplateLiteral;
682
+ }
683
+ export interface TemplateElementBuilder {
684
+ (value: {
685
+ cooked: string;
686
+ raw: string;
687
+ }, tail: boolean): N.TemplateElement;
688
+ from(params: {
689
+ comments?: K.CommentKind[] | null;
690
+ loc?: K.SourceLocationKind | null;
691
+ tail: boolean;
692
+ value: {
693
+ cooked: string;
694
+ raw: string;
695
+ };
696
+ }): N.TemplateElement;
697
+ }
698
+ export interface SpreadPropertyBuilder {
699
+ (argument: K.ExpressionKind): N.SpreadProperty;
700
+ from(params: {
701
+ argument: K.ExpressionKind;
702
+ comments?: K.CommentKind[] | null;
703
+ loc?: K.SourceLocationKind | null;
704
+ }): N.SpreadProperty;
705
+ }
706
+ export interface SpreadPropertyPatternBuilder {
707
+ (argument: K.PatternKind): N.SpreadPropertyPattern;
708
+ from(params: {
709
+ argument: K.PatternKind;
710
+ comments?: K.CommentKind[] | null;
711
+ loc?: K.SourceLocationKind | null;
712
+ }): N.SpreadPropertyPattern;
713
+ }
714
+ export interface AwaitExpressionBuilder {
715
+ (argument: K.ExpressionKind | null, all?: boolean): N.AwaitExpression;
716
+ from(params: {
717
+ all?: boolean;
718
+ argument: K.ExpressionKind | null;
719
+ comments?: K.CommentKind[] | null;
720
+ loc?: K.SourceLocationKind | null;
721
+ }): N.AwaitExpression;
722
+ }
723
+ export interface JSXAttributeBuilder {
724
+ (name: K.JSXIdentifierKind | K.JSXNamespacedNameKind, value?: K.LiteralKind | K.JSXExpressionContainerKind | null): N.JSXAttribute;
725
+ from(params: {
726
+ comments?: K.CommentKind[] | null;
727
+ loc?: K.SourceLocationKind | null;
728
+ name: K.JSXIdentifierKind | K.JSXNamespacedNameKind;
729
+ value?: K.LiteralKind | K.JSXExpressionContainerKind | null;
730
+ }): N.JSXAttribute;
731
+ }
732
+ export interface JSXIdentifierBuilder {
733
+ (name: string): N.JSXIdentifier;
734
+ from(params: {
735
+ comments?: K.CommentKind[] | null;
736
+ loc?: K.SourceLocationKind | null;
737
+ name: string;
738
+ optional?: boolean;
739
+ typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
740
+ }): N.JSXIdentifier;
741
+ }
742
+ export interface JSXNamespacedNameBuilder {
743
+ (namespace: K.JSXIdentifierKind, name: K.JSXIdentifierKind): N.JSXNamespacedName;
744
+ from(params: {
745
+ comments?: K.CommentKind[] | null;
746
+ loc?: K.SourceLocationKind | null;
747
+ name: K.JSXIdentifierKind;
748
+ namespace: K.JSXIdentifierKind;
749
+ }): N.JSXNamespacedName;
750
+ }
751
+ export interface JSXExpressionContainerBuilder {
752
+ (expression: K.ExpressionKind): N.JSXExpressionContainer;
753
+ from(params: {
754
+ comments?: K.CommentKind[] | null;
755
+ expression: K.ExpressionKind;
756
+ loc?: K.SourceLocationKind | null;
757
+ }): N.JSXExpressionContainer;
758
+ }
759
+ export interface JSXMemberExpressionBuilder {
760
+ (object: K.JSXIdentifierKind | K.JSXMemberExpressionKind, property: K.JSXIdentifierKind): N.JSXMemberExpression;
761
+ from(params: {
762
+ comments?: K.CommentKind[] | null;
763
+ computed?: boolean;
764
+ loc?: K.SourceLocationKind | null;
765
+ object: K.JSXIdentifierKind | K.JSXMemberExpressionKind;
766
+ property: K.JSXIdentifierKind;
767
+ }): N.JSXMemberExpression;
768
+ }
769
+ export interface JSXSpreadAttributeBuilder {
770
+ (argument: K.ExpressionKind): N.JSXSpreadAttribute;
771
+ from(params: {
772
+ argument: K.ExpressionKind;
773
+ comments?: K.CommentKind[] | null;
774
+ loc?: K.SourceLocationKind | null;
775
+ }): N.JSXSpreadAttribute;
776
+ }
777
+ export interface JSXElementBuilder {
778
+ (openingElement: K.JSXOpeningElementKind, closingElement?: K.JSXClosingElementKind | null, children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[]): N.JSXElement;
779
+ from(params: {
780
+ attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
781
+ children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
782
+ closingElement?: K.JSXClosingElementKind | null;
783
+ comments?: K.CommentKind[] | null;
784
+ loc?: K.SourceLocationKind | null;
785
+ name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
786
+ openingElement: K.JSXOpeningElementKind;
787
+ selfClosing?: boolean;
788
+ }): N.JSXElement;
789
+ }
790
+ export interface JSXOpeningElementBuilder {
791
+ (name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind, attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[], selfClosing?: boolean): N.JSXOpeningElement;
792
+ from(params: {
793
+ attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
794
+ comments?: K.CommentKind[] | null;
795
+ loc?: K.SourceLocationKind | null;
796
+ name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
797
+ selfClosing?: boolean;
798
+ }): N.JSXOpeningElement;
799
+ }
800
+ export interface JSXClosingElementBuilder {
801
+ (name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind): N.JSXClosingElement;
802
+ from(params: {
803
+ comments?: K.CommentKind[] | null;
804
+ loc?: K.SourceLocationKind | null;
805
+ name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
806
+ }): N.JSXClosingElement;
807
+ }
808
+ export interface JSXFragmentBuilder {
809
+ (openingElement: K.JSXOpeningFragmentKind, closingElement: K.JSXClosingFragmentKind, children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[]): N.JSXFragment;
810
+ from(params: {
811
+ children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
812
+ closingElement: K.JSXClosingFragmentKind;
813
+ comments?: K.CommentKind[] | null;
814
+ loc?: K.SourceLocationKind | null;
815
+ openingElement: K.JSXOpeningFragmentKind;
816
+ }): N.JSXFragment;
817
+ }
818
+ export interface JSXTextBuilder {
819
+ (value: string): N.JSXText;
820
+ from(params: {
821
+ comments?: K.CommentKind[] | null;
822
+ loc?: K.SourceLocationKind | null;
823
+ regex?: {
824
+ pattern: string;
825
+ flags: string;
826
+ } | null;
827
+ value: string;
828
+ }): N.JSXText;
829
+ }
830
+ export interface JSXOpeningFragmentBuilder {
831
+ (): N.JSXOpeningFragment;
832
+ from(params: {
833
+ comments?: K.CommentKind[] | null;
834
+ loc?: K.SourceLocationKind | null;
835
+ }): N.JSXOpeningFragment;
836
+ }
837
+ export interface JSXClosingFragmentBuilder {
838
+ (): N.JSXClosingFragment;
839
+ from(params: {
840
+ comments?: K.CommentKind[] | null;
841
+ loc?: K.SourceLocationKind | null;
842
+ }): N.JSXClosingFragment;
843
+ }
844
+ export interface JSXEmptyExpressionBuilder {
845
+ (): N.JSXEmptyExpression;
846
+ from(params: {
847
+ comments?: K.CommentKind[] | null;
848
+ loc?: K.SourceLocationKind | null;
849
+ }): N.JSXEmptyExpression;
850
+ }
851
+ export interface JSXSpreadChildBuilder {
852
+ (expression: K.ExpressionKind): N.JSXSpreadChild;
853
+ from(params: {
854
+ comments?: K.CommentKind[] | null;
855
+ expression: K.ExpressionKind;
856
+ loc?: K.SourceLocationKind | null;
857
+ }): N.JSXSpreadChild;
858
+ }
859
+ export interface TypeParameterDeclarationBuilder {
860
+ (params: K.TypeParameterKind[]): N.TypeParameterDeclaration;
861
+ from(params: {
862
+ comments?: K.CommentKind[] | null;
863
+ loc?: K.SourceLocationKind | null;
864
+ params: K.TypeParameterKind[];
865
+ }): N.TypeParameterDeclaration;
866
+ }
867
+ export interface TSTypeParameterDeclarationBuilder {
868
+ (params: K.TSTypeParameterKind[]): N.TSTypeParameterDeclaration;
869
+ from(params: {
870
+ comments?: K.CommentKind[] | null;
871
+ loc?: K.SourceLocationKind | null;
872
+ params: K.TSTypeParameterKind[];
873
+ }): N.TSTypeParameterDeclaration;
874
+ }
875
+ export interface TypeParameterInstantiationBuilder {
876
+ (params: K.FlowTypeKind[]): N.TypeParameterInstantiation;
877
+ from(params: {
878
+ comments?: K.CommentKind[] | null;
879
+ loc?: K.SourceLocationKind | null;
880
+ params: K.FlowTypeKind[];
881
+ }): N.TypeParameterInstantiation;
882
+ }
883
+ export interface TSTypeParameterInstantiationBuilder {
884
+ (params: K.TSTypeKind[]): N.TSTypeParameterInstantiation;
885
+ from(params: {
886
+ comments?: K.CommentKind[] | null;
887
+ loc?: K.SourceLocationKind | null;
888
+ params: K.TSTypeKind[];
889
+ }): N.TSTypeParameterInstantiation;
890
+ }
891
+ export interface ClassImplementsBuilder {
892
+ (id: K.IdentifierKind): N.ClassImplements;
893
+ from(params: {
894
+ comments?: K.CommentKind[] | null;
895
+ id: K.IdentifierKind;
896
+ loc?: K.SourceLocationKind | null;
897
+ superClass?: K.ExpressionKind | null;
898
+ typeParameters?: K.TypeParameterInstantiationKind | null;
899
+ }): N.ClassImplements;
900
+ }
901
+ export interface TSExpressionWithTypeArgumentsBuilder {
902
+ (expression: K.IdentifierKind | K.TSQualifiedNameKind, typeParameters?: K.TSTypeParameterInstantiationKind | null): N.TSExpressionWithTypeArguments;
903
+ from(params: {
904
+ comments?: K.CommentKind[] | null;
905
+ expression: K.IdentifierKind | K.TSQualifiedNameKind;
906
+ loc?: K.SourceLocationKind | null;
907
+ typeParameters?: K.TSTypeParameterInstantiationKind | null;
908
+ }): N.TSExpressionWithTypeArguments;
909
+ }
910
+ export interface AnyTypeAnnotationBuilder {
911
+ (): N.AnyTypeAnnotation;
912
+ from(params: {
913
+ comments?: K.CommentKind[] | null;
914
+ loc?: K.SourceLocationKind | null;
915
+ }): N.AnyTypeAnnotation;
916
+ }
917
+ export interface EmptyTypeAnnotationBuilder {
918
+ (): N.EmptyTypeAnnotation;
919
+ from(params: {
920
+ comments?: K.CommentKind[] | null;
921
+ loc?: K.SourceLocationKind | null;
922
+ }): N.EmptyTypeAnnotation;
923
+ }
924
+ export interface MixedTypeAnnotationBuilder {
925
+ (): N.MixedTypeAnnotation;
926
+ from(params: {
927
+ comments?: K.CommentKind[] | null;
928
+ loc?: K.SourceLocationKind | null;
929
+ }): N.MixedTypeAnnotation;
930
+ }
931
+ export interface VoidTypeAnnotationBuilder {
932
+ (): N.VoidTypeAnnotation;
933
+ from(params: {
934
+ comments?: K.CommentKind[] | null;
935
+ loc?: K.SourceLocationKind | null;
936
+ }): N.VoidTypeAnnotation;
937
+ }
938
+ export interface NumberTypeAnnotationBuilder {
939
+ (): N.NumberTypeAnnotation;
940
+ from(params: {
941
+ comments?: K.CommentKind[] | null;
942
+ loc?: K.SourceLocationKind | null;
943
+ }): N.NumberTypeAnnotation;
944
+ }
945
+ export interface NumberLiteralTypeAnnotationBuilder {
946
+ (value: number, raw: string): N.NumberLiteralTypeAnnotation;
947
+ from(params: {
948
+ comments?: K.CommentKind[] | null;
949
+ loc?: K.SourceLocationKind | null;
950
+ raw: string;
951
+ value: number;
952
+ }): N.NumberLiteralTypeAnnotation;
953
+ }
954
+ export interface NumericLiteralTypeAnnotationBuilder {
955
+ (value: number, raw: string): N.NumericLiteralTypeAnnotation;
956
+ from(params: {
957
+ comments?: K.CommentKind[] | null;
958
+ loc?: K.SourceLocationKind | null;
959
+ raw: string;
960
+ value: number;
961
+ }): N.NumericLiteralTypeAnnotation;
962
+ }
963
+ export interface StringTypeAnnotationBuilder {
964
+ (): N.StringTypeAnnotation;
965
+ from(params: {
966
+ comments?: K.CommentKind[] | null;
967
+ loc?: K.SourceLocationKind | null;
968
+ }): N.StringTypeAnnotation;
969
+ }
970
+ export interface StringLiteralTypeAnnotationBuilder {
971
+ (value: string, raw: string): N.StringLiteralTypeAnnotation;
972
+ from(params: {
973
+ comments?: K.CommentKind[] | null;
974
+ loc?: K.SourceLocationKind | null;
975
+ raw: string;
976
+ value: string;
977
+ }): N.StringLiteralTypeAnnotation;
978
+ }
979
+ export interface BooleanTypeAnnotationBuilder {
980
+ (): N.BooleanTypeAnnotation;
981
+ from(params: {
982
+ comments?: K.CommentKind[] | null;
983
+ loc?: K.SourceLocationKind | null;
984
+ }): N.BooleanTypeAnnotation;
985
+ }
986
+ export interface BooleanLiteralTypeAnnotationBuilder {
987
+ (value: boolean, raw: string): N.BooleanLiteralTypeAnnotation;
988
+ from(params: {
989
+ comments?: K.CommentKind[] | null;
990
+ loc?: K.SourceLocationKind | null;
991
+ raw: string;
992
+ value: boolean;
993
+ }): N.BooleanLiteralTypeAnnotation;
994
+ }
995
+ export interface NullableTypeAnnotationBuilder {
996
+ (typeAnnotation: K.FlowTypeKind): N.NullableTypeAnnotation;
997
+ from(params: {
998
+ comments?: K.CommentKind[] | null;
999
+ loc?: K.SourceLocationKind | null;
1000
+ typeAnnotation: K.FlowTypeKind;
1001
+ }): N.NullableTypeAnnotation;
1002
+ }
1003
+ export interface NullLiteralTypeAnnotationBuilder {
1004
+ (): N.NullLiteralTypeAnnotation;
1005
+ from(params: {
1006
+ comments?: K.CommentKind[] | null;
1007
+ loc?: K.SourceLocationKind | null;
1008
+ }): N.NullLiteralTypeAnnotation;
1009
+ }
1010
+ export interface NullTypeAnnotationBuilder {
1011
+ (): N.NullTypeAnnotation;
1012
+ from(params: {
1013
+ comments?: K.CommentKind[] | null;
1014
+ loc?: K.SourceLocationKind | null;
1015
+ }): N.NullTypeAnnotation;
1016
+ }
1017
+ export interface ThisTypeAnnotationBuilder {
1018
+ (): N.ThisTypeAnnotation;
1019
+ from(params: {
1020
+ comments?: K.CommentKind[] | null;
1021
+ loc?: K.SourceLocationKind | null;
1022
+ }): N.ThisTypeAnnotation;
1023
+ }
1024
+ export interface ExistsTypeAnnotationBuilder {
1025
+ (): N.ExistsTypeAnnotation;
1026
+ from(params: {
1027
+ comments?: K.CommentKind[] | null;
1028
+ loc?: K.SourceLocationKind | null;
1029
+ }): N.ExistsTypeAnnotation;
1030
+ }
1031
+ export interface ExistentialTypeParamBuilder {
1032
+ (): N.ExistentialTypeParam;
1033
+ from(params: {
1034
+ comments?: K.CommentKind[] | null;
1035
+ loc?: K.SourceLocationKind | null;
1036
+ }): N.ExistentialTypeParam;
1037
+ }
1038
+ export interface FunctionTypeAnnotationBuilder {
1039
+ (params: K.FunctionTypeParamKind[], returnType: K.FlowTypeKind, rest: K.FunctionTypeParamKind | null, typeParameters: K.TypeParameterDeclarationKind | null): N.FunctionTypeAnnotation;
1040
+ from(params: {
1041
+ comments?: K.CommentKind[] | null;
1042
+ loc?: K.SourceLocationKind | null;
1043
+ params: K.FunctionTypeParamKind[];
1044
+ rest: K.FunctionTypeParamKind | null;
1045
+ returnType: K.FlowTypeKind;
1046
+ typeParameters: K.TypeParameterDeclarationKind | null;
1047
+ }): N.FunctionTypeAnnotation;
1048
+ }
1049
+ export interface FunctionTypeParamBuilder {
1050
+ (name: K.IdentifierKind, typeAnnotation: K.FlowTypeKind, optional: boolean): N.FunctionTypeParam;
1051
+ from(params: {
1052
+ comments?: K.CommentKind[] | null;
1053
+ loc?: K.SourceLocationKind | null;
1054
+ name: K.IdentifierKind;
1055
+ optional: boolean;
1056
+ typeAnnotation: K.FlowTypeKind;
1057
+ }): N.FunctionTypeParam;
1058
+ }
1059
+ export interface ArrayTypeAnnotationBuilder {
1060
+ (elementType: K.FlowTypeKind): N.ArrayTypeAnnotation;
1061
+ from(params: {
1062
+ comments?: K.CommentKind[] | null;
1063
+ elementType: K.FlowTypeKind;
1064
+ loc?: K.SourceLocationKind | null;
1065
+ }): N.ArrayTypeAnnotation;
1066
+ }
1067
+ export interface ObjectTypeAnnotationBuilder {
1068
+ (properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[], indexers?: K.ObjectTypeIndexerKind[], callProperties?: K.ObjectTypeCallPropertyKind[]): N.ObjectTypeAnnotation;
1069
+ from(params: {
1070
+ callProperties?: K.ObjectTypeCallPropertyKind[];
1071
+ comments?: K.CommentKind[] | null;
1072
+ exact?: boolean;
1073
+ indexers?: K.ObjectTypeIndexerKind[];
1074
+ inexact?: boolean | undefined;
1075
+ internalSlots?: K.ObjectTypeInternalSlotKind[];
1076
+ loc?: K.SourceLocationKind | null;
1077
+ properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[];
1078
+ }): N.ObjectTypeAnnotation;
1079
+ }
1080
+ export interface ObjectTypePropertyBuilder {
1081
+ (key: K.LiteralKind | K.IdentifierKind, value: K.FlowTypeKind, optional: boolean): N.ObjectTypeProperty;
1082
+ from(params: {
1083
+ comments?: K.CommentKind[] | null;
1084
+ key: K.LiteralKind | K.IdentifierKind;
1085
+ loc?: K.SourceLocationKind | null;
1086
+ optional: boolean;
1087
+ value: K.FlowTypeKind;
1088
+ variance?: K.VarianceKind | "plus" | "minus" | null;
1089
+ }): N.ObjectTypeProperty;
1090
+ }
1091
+ export interface ObjectTypeSpreadPropertyBuilder {
1092
+ (argument: K.FlowTypeKind): N.ObjectTypeSpreadProperty;
1093
+ from(params: {
1094
+ argument: K.FlowTypeKind;
1095
+ comments?: K.CommentKind[] | null;
1096
+ loc?: K.SourceLocationKind | null;
1097
+ }): N.ObjectTypeSpreadProperty;
1098
+ }
1099
+ export interface ObjectTypeIndexerBuilder {
1100
+ (id: K.IdentifierKind, key: K.FlowTypeKind, value: K.FlowTypeKind): N.ObjectTypeIndexer;
1101
+ from(params: {
1102
+ comments?: K.CommentKind[] | null;
1103
+ id: K.IdentifierKind;
1104
+ key: K.FlowTypeKind;
1105
+ loc?: K.SourceLocationKind | null;
1106
+ value: K.FlowTypeKind;
1107
+ variance?: K.VarianceKind | "plus" | "minus" | null;
1108
+ }): N.ObjectTypeIndexer;
1109
+ }
1110
+ export interface ObjectTypeCallPropertyBuilder {
1111
+ (value: K.FunctionTypeAnnotationKind): N.ObjectTypeCallProperty;
1112
+ from(params: {
1113
+ comments?: K.CommentKind[] | null;
1114
+ loc?: K.SourceLocationKind | null;
1115
+ static?: boolean;
1116
+ value: K.FunctionTypeAnnotationKind;
1117
+ }): N.ObjectTypeCallProperty;
1118
+ }
1119
+ export interface ObjectTypeInternalSlotBuilder {
1120
+ (id: K.IdentifierKind, value: K.FlowTypeKind, optional: boolean, staticParam: boolean, method: boolean): N.ObjectTypeInternalSlot;
1121
+ from(params: {
1122
+ comments?: K.CommentKind[] | null;
1123
+ id: K.IdentifierKind;
1124
+ loc?: K.SourceLocationKind | null;
1125
+ method: boolean;
1126
+ optional: boolean;
1127
+ static: boolean;
1128
+ value: K.FlowTypeKind;
1129
+ }): N.ObjectTypeInternalSlot;
1130
+ }
1131
+ export interface VarianceBuilder {
1132
+ (kind: "plus" | "minus"): N.Variance;
1133
+ from(params: {
1134
+ comments?: K.CommentKind[] | null;
1135
+ kind: "plus" | "minus";
1136
+ loc?: K.SourceLocationKind | null;
1137
+ }): N.Variance;
1138
+ }
1139
+ export interface QualifiedTypeIdentifierBuilder {
1140
+ (qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind, id: K.IdentifierKind): N.QualifiedTypeIdentifier;
1141
+ from(params: {
1142
+ comments?: K.CommentKind[] | null;
1143
+ id: K.IdentifierKind;
1144
+ loc?: K.SourceLocationKind | null;
1145
+ qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
1146
+ }): N.QualifiedTypeIdentifier;
1147
+ }
1148
+ export interface GenericTypeAnnotationBuilder {
1149
+ (id: K.IdentifierKind | K.QualifiedTypeIdentifierKind, typeParameters: K.TypeParameterInstantiationKind | null): N.GenericTypeAnnotation;
1150
+ from(params: {
1151
+ comments?: K.CommentKind[] | null;
1152
+ id: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
1153
+ loc?: K.SourceLocationKind | null;
1154
+ typeParameters: K.TypeParameterInstantiationKind | null;
1155
+ }): N.GenericTypeAnnotation;
1156
+ }
1157
+ export interface MemberTypeAnnotationBuilder {
1158
+ (object: K.IdentifierKind, property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind): N.MemberTypeAnnotation;
1159
+ from(params: {
1160
+ comments?: K.CommentKind[] | null;
1161
+ loc?: K.SourceLocationKind | null;
1162
+ object: K.IdentifierKind;
1163
+ property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind;
1164
+ }): N.MemberTypeAnnotation;
1165
+ }
1166
+ export interface UnionTypeAnnotationBuilder {
1167
+ (types: K.FlowTypeKind[]): N.UnionTypeAnnotation;
1168
+ from(params: {
1169
+ comments?: K.CommentKind[] | null;
1170
+ loc?: K.SourceLocationKind | null;
1171
+ types: K.FlowTypeKind[];
1172
+ }): N.UnionTypeAnnotation;
1173
+ }
1174
+ export interface IntersectionTypeAnnotationBuilder {
1175
+ (types: K.FlowTypeKind[]): N.IntersectionTypeAnnotation;
1176
+ from(params: {
1177
+ comments?: K.CommentKind[] | null;
1178
+ loc?: K.SourceLocationKind | null;
1179
+ types: K.FlowTypeKind[];
1180
+ }): N.IntersectionTypeAnnotation;
1181
+ }
1182
+ export interface TypeofTypeAnnotationBuilder {
1183
+ (argument: K.FlowTypeKind): N.TypeofTypeAnnotation;
1184
+ from(params: {
1185
+ argument: K.FlowTypeKind;
1186
+ comments?: K.CommentKind[] | null;
1187
+ loc?: K.SourceLocationKind | null;
1188
+ }): N.TypeofTypeAnnotation;
1189
+ }
1190
+ export interface TypeParameterBuilder {
1191
+ (name: string, variance?: K.VarianceKind | "plus" | "minus" | null, bound?: K.TypeAnnotationKind | null): N.TypeParameter;
1192
+ from(params: {
1193
+ bound?: K.TypeAnnotationKind | null;
1194
+ comments?: K.CommentKind[] | null;
1195
+ loc?: K.SourceLocationKind | null;
1196
+ name: string;
1197
+ variance?: K.VarianceKind | "plus" | "minus" | null;
1198
+ }): N.TypeParameter;
1199
+ }
1200
+ export interface InterfaceTypeAnnotationBuilder {
1201
+ (body: K.ObjectTypeAnnotationKind, extendsParam?: K.InterfaceExtendsKind[] | null): N.InterfaceTypeAnnotation;
1202
+ from(params: {
1203
+ body: K.ObjectTypeAnnotationKind;
1204
+ comments?: K.CommentKind[] | null;
1205
+ extends?: K.InterfaceExtendsKind[] | null;
1206
+ loc?: K.SourceLocationKind | null;
1207
+ }): N.InterfaceTypeAnnotation;
1208
+ }
1209
+ export interface InterfaceExtendsBuilder {
1210
+ (id: K.IdentifierKind): N.InterfaceExtends;
1211
+ from(params: {
1212
+ comments?: K.CommentKind[] | null;
1213
+ id: K.IdentifierKind;
1214
+ loc?: K.SourceLocationKind | null;
1215
+ typeParameters?: K.TypeParameterInstantiationKind | null;
1216
+ }): N.InterfaceExtends;
1217
+ }
1218
+ export interface InterfaceDeclarationBuilder {
1219
+ (id: K.IdentifierKind, body: K.ObjectTypeAnnotationKind, extendsParam: K.InterfaceExtendsKind[]): N.InterfaceDeclaration;
1220
+ from(params: {
1221
+ body: K.ObjectTypeAnnotationKind;
1222
+ comments?: K.CommentKind[] | null;
1223
+ extends: K.InterfaceExtendsKind[];
1224
+ id: K.IdentifierKind;
1225
+ loc?: K.SourceLocationKind | null;
1226
+ typeParameters?: K.TypeParameterDeclarationKind | null;
1227
+ }): N.InterfaceDeclaration;
1228
+ }
1229
+ export interface DeclareInterfaceBuilder {
1230
+ (id: K.IdentifierKind, body: K.ObjectTypeAnnotationKind, extendsParam: K.InterfaceExtendsKind[]): N.DeclareInterface;
1231
+ from(params: {
1232
+ body: K.ObjectTypeAnnotationKind;
1233
+ comments?: K.CommentKind[] | null;
1234
+ extends: K.InterfaceExtendsKind[];
1235
+ id: K.IdentifierKind;
1236
+ loc?: K.SourceLocationKind | null;
1237
+ typeParameters?: K.TypeParameterDeclarationKind | null;
1238
+ }): N.DeclareInterface;
1239
+ }
1240
+ export interface TypeAliasBuilder {
1241
+ (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null, right: K.FlowTypeKind): N.TypeAlias;
1242
+ from(params: {
1243
+ comments?: K.CommentKind[] | null;
1244
+ id: K.IdentifierKind;
1245
+ loc?: K.SourceLocationKind | null;
1246
+ right: K.FlowTypeKind;
1247
+ typeParameters: K.TypeParameterDeclarationKind | null;
1248
+ }): N.TypeAlias;
1249
+ }
1250
+ export interface OpaqueTypeBuilder {
1251
+ (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null, impltype: K.FlowTypeKind, supertype: K.FlowTypeKind): N.OpaqueType;
1252
+ from(params: {
1253
+ comments?: K.CommentKind[] | null;
1254
+ id: K.IdentifierKind;
1255
+ impltype: K.FlowTypeKind;
1256
+ loc?: K.SourceLocationKind | null;
1257
+ supertype: K.FlowTypeKind;
1258
+ typeParameters: K.TypeParameterDeclarationKind | null;
1259
+ }): N.OpaqueType;
1260
+ }
1261
+ export interface DeclareTypeAliasBuilder {
1262
+ (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null, right: K.FlowTypeKind): N.DeclareTypeAlias;
1263
+ from(params: {
1264
+ comments?: K.CommentKind[] | null;
1265
+ id: K.IdentifierKind;
1266
+ loc?: K.SourceLocationKind | null;
1267
+ right: K.FlowTypeKind;
1268
+ typeParameters: K.TypeParameterDeclarationKind | null;
1269
+ }): N.DeclareTypeAlias;
1270
+ }
1271
+ export interface DeclareOpaqueTypeBuilder {
1272
+ (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null): N.DeclareOpaqueType;
1273
+ from(params: {
1274
+ comments?: K.CommentKind[] | null;
1275
+ id: K.IdentifierKind;
1276
+ loc?: K.SourceLocationKind | null;
1277
+ right: K.FlowTypeKind;
1278
+ typeParameters: K.TypeParameterDeclarationKind | null;
1279
+ }): N.DeclareOpaqueType;
1280
+ }
1281
+ export interface TypeCastExpressionBuilder {
1282
+ (expression: K.ExpressionKind, typeAnnotation: K.TypeAnnotationKind): N.TypeCastExpression;
1283
+ from(params: {
1284
+ comments?: K.CommentKind[] | null;
1285
+ expression: K.ExpressionKind;
1286
+ loc?: K.SourceLocationKind | null;
1287
+ typeAnnotation: K.TypeAnnotationKind;
1288
+ }): N.TypeCastExpression;
1289
+ }
1290
+ export interface TupleTypeAnnotationBuilder {
1291
+ (types: K.FlowTypeKind[]): N.TupleTypeAnnotation;
1292
+ from(params: {
1293
+ comments?: K.CommentKind[] | null;
1294
+ loc?: K.SourceLocationKind | null;
1295
+ types: K.FlowTypeKind[];
1296
+ }): N.TupleTypeAnnotation;
1297
+ }
1298
+ export interface DeclareVariableBuilder {
1299
+ (id: K.IdentifierKind): N.DeclareVariable;
1300
+ from(params: {
1301
+ comments?: K.CommentKind[] | null;
1302
+ id: K.IdentifierKind;
1303
+ loc?: K.SourceLocationKind | null;
1304
+ }): N.DeclareVariable;
1305
+ }
1306
+ export interface DeclareFunctionBuilder {
1307
+ (id: K.IdentifierKind): N.DeclareFunction;
1308
+ from(params: {
1309
+ comments?: K.CommentKind[] | null;
1310
+ id: K.IdentifierKind;
1311
+ loc?: K.SourceLocationKind | null;
1312
+ }): N.DeclareFunction;
1313
+ }
1314
+ export interface DeclareClassBuilder {
1315
+ (id: K.IdentifierKind): N.DeclareClass;
1316
+ from(params: {
1317
+ body: K.ObjectTypeAnnotationKind;
1318
+ comments?: K.CommentKind[] | null;
1319
+ extends: K.InterfaceExtendsKind[];
1320
+ id: K.IdentifierKind;
1321
+ loc?: K.SourceLocationKind | null;
1322
+ typeParameters?: K.TypeParameterDeclarationKind | null;
1323
+ }): N.DeclareClass;
1324
+ }
1325
+ export interface DeclareModuleBuilder {
1326
+ (id: K.IdentifierKind | K.LiteralKind, body: K.BlockStatementKind): N.DeclareModule;
1327
+ from(params: {
1328
+ body: K.BlockStatementKind;
1329
+ comments?: K.CommentKind[] | null;
1330
+ id: K.IdentifierKind | K.LiteralKind;
1331
+ loc?: K.SourceLocationKind | null;
1332
+ }): N.DeclareModule;
1333
+ }
1334
+ export interface DeclareModuleExportsBuilder {
1335
+ (typeAnnotation: K.TypeAnnotationKind): N.DeclareModuleExports;
1336
+ from(params: {
1337
+ comments?: K.CommentKind[] | null;
1338
+ loc?: K.SourceLocationKind | null;
1339
+ typeAnnotation: K.TypeAnnotationKind;
1340
+ }): N.DeclareModuleExports;
1341
+ }
1342
+ export interface DeclareExportDeclarationBuilder {
1343
+ (defaultParam: boolean, declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | null, specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[], source?: K.LiteralKind | null): N.DeclareExportDeclaration;
1344
+ from(params: {
1345
+ comments?: K.CommentKind[] | null;
1346
+ declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | null;
1347
+ default: boolean;
1348
+ loc?: K.SourceLocationKind | null;
1349
+ source?: K.LiteralKind | null;
1350
+ specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
1351
+ }): N.DeclareExportDeclaration;
1352
+ }
1353
+ export interface ExportSpecifierBuilder {
1354
+ (local: K.IdentifierKind | null | undefined, exported: K.IdentifierKind): N.ExportSpecifier;
1355
+ from(params: {
1356
+ comments?: K.CommentKind[] | null;
1357
+ exported: K.IdentifierKind;
1358
+ id?: K.IdentifierKind | null;
1359
+ loc?: K.SourceLocationKind | null;
1360
+ local?: K.IdentifierKind | null;
1361
+ name?: K.IdentifierKind | null;
1362
+ }): N.ExportSpecifier;
1363
+ }
1364
+ export interface ExportBatchSpecifierBuilder {
1365
+ (): N.ExportBatchSpecifier;
1366
+ from(params: {
1367
+ comments?: K.CommentKind[] | null;
1368
+ loc?: K.SourceLocationKind | null;
1369
+ }): N.ExportBatchSpecifier;
1370
+ }
1371
+ export interface DeclareExportAllDeclarationBuilder {
1372
+ (source?: K.LiteralKind | null): N.DeclareExportAllDeclaration;
1373
+ from(params: {
1374
+ comments?: K.CommentKind[] | null;
1375
+ loc?: K.SourceLocationKind | null;
1376
+ source?: K.LiteralKind | null;
1377
+ }): N.DeclareExportAllDeclaration;
1378
+ }
1379
+ export interface InferredPredicateBuilder {
1380
+ (): N.InferredPredicate;
1381
+ from(params: {
1382
+ comments?: K.CommentKind[] | null;
1383
+ loc?: K.SourceLocationKind | null;
1384
+ }): N.InferredPredicate;
1385
+ }
1386
+ export interface DeclaredPredicateBuilder {
1387
+ (value: K.ExpressionKind): N.DeclaredPredicate;
1388
+ from(params: {
1389
+ comments?: K.CommentKind[] | null;
1390
+ loc?: K.SourceLocationKind | null;
1391
+ value: K.ExpressionKind;
1392
+ }): N.DeclaredPredicate;
1393
+ }
1394
+ export interface ExportDeclarationBuilder {
1395
+ (defaultParam: boolean, declaration: K.DeclarationKind | K.ExpressionKind | null, specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[], source?: K.LiteralKind | null): N.ExportDeclaration;
1396
+ from(params: {
1397
+ comments?: K.CommentKind[] | null;
1398
+ declaration: K.DeclarationKind | K.ExpressionKind | null;
1399
+ default: boolean;
1400
+ loc?: K.SourceLocationKind | null;
1401
+ source?: K.LiteralKind | null;
1402
+ specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
1403
+ }): N.ExportDeclaration;
1404
+ }
1405
+ export interface BlockBuilder {
1406
+ (value: string, leading?: boolean, trailing?: boolean): N.Block;
1407
+ from(params: {
1408
+ leading?: boolean;
1409
+ loc?: K.SourceLocationKind | null;
1410
+ trailing?: boolean;
1411
+ value: string;
1412
+ }): N.Block;
1413
+ }
1414
+ export interface LineBuilder {
1415
+ (value: string, leading?: boolean, trailing?: boolean): N.Line;
1416
+ from(params: {
1417
+ leading?: boolean;
1418
+ loc?: K.SourceLocationKind | null;
1419
+ trailing?: boolean;
1420
+ value: string;
1421
+ }): N.Line;
1422
+ }
1423
+ export interface NoopBuilder {
1424
+ (): N.Noop;
1425
+ from(params: {
1426
+ comments?: K.CommentKind[] | null;
1427
+ loc?: K.SourceLocationKind | null;
1428
+ }): N.Noop;
1429
+ }
1430
+ export interface DoExpressionBuilder {
1431
+ (body: K.StatementKind[]): N.DoExpression;
1432
+ from(params: {
1433
+ body: K.StatementKind[];
1434
+ comments?: K.CommentKind[] | null;
1435
+ loc?: K.SourceLocationKind | null;
1436
+ }): N.DoExpression;
1437
+ }
1438
+ export interface SuperBuilder {
1439
+ (): N.Super;
1440
+ from(params: {
1441
+ comments?: K.CommentKind[] | null;
1442
+ loc?: K.SourceLocationKind | null;
1443
+ }): N.Super;
1444
+ }
1445
+ export interface BindExpressionBuilder {
1446
+ (object: K.ExpressionKind | null, callee: K.ExpressionKind): N.BindExpression;
1447
+ from(params: {
1448
+ callee: K.ExpressionKind;
1449
+ comments?: K.CommentKind[] | null;
1450
+ loc?: K.SourceLocationKind | null;
1451
+ object: K.ExpressionKind | null;
1452
+ }): N.BindExpression;
1453
+ }
1454
+ export interface DecoratorBuilder {
1455
+ (expression: K.ExpressionKind): N.Decorator;
1456
+ from(params: {
1457
+ comments?: K.CommentKind[] | null;
1458
+ expression: K.ExpressionKind;
1459
+ loc?: K.SourceLocationKind | null;
1460
+ }): N.Decorator;
1461
+ }
1462
+ export interface MetaPropertyBuilder {
1463
+ (meta: K.IdentifierKind, property: K.IdentifierKind): N.MetaProperty;
1464
+ from(params: {
1465
+ comments?: K.CommentKind[] | null;
1466
+ loc?: K.SourceLocationKind | null;
1467
+ meta: K.IdentifierKind;
1468
+ property: K.IdentifierKind;
1469
+ }): N.MetaProperty;
1470
+ }
1471
+ export interface ParenthesizedExpressionBuilder {
1472
+ (expression: K.ExpressionKind): N.ParenthesizedExpression;
1473
+ from(params: {
1474
+ comments?: K.CommentKind[] | null;
1475
+ expression: K.ExpressionKind;
1476
+ loc?: K.SourceLocationKind | null;
1477
+ }): N.ParenthesizedExpression;
1478
+ }
1479
+ export interface ExportDefaultDeclarationBuilder {
1480
+ (declaration: K.DeclarationKind | K.ExpressionKind): N.ExportDefaultDeclaration;
1481
+ from(params: {
1482
+ comments?: K.CommentKind[] | null;
1483
+ declaration: K.DeclarationKind | K.ExpressionKind;
1484
+ loc?: K.SourceLocationKind | null;
1485
+ }): N.ExportDefaultDeclaration;
1486
+ }
1487
+ export interface ExportNamedDeclarationBuilder {
1488
+ (declaration: K.DeclarationKind | null, specifiers?: K.ExportSpecifierKind[], source?: K.LiteralKind | null): N.ExportNamedDeclaration;
1489
+ from(params: {
1490
+ comments?: K.CommentKind[] | null;
1491
+ declaration: K.DeclarationKind | null;
1492
+ loc?: K.SourceLocationKind | null;
1493
+ source?: K.LiteralKind | null;
1494
+ specifiers?: K.ExportSpecifierKind[];
1495
+ }): N.ExportNamedDeclaration;
1496
+ }
1497
+ export interface ExportNamespaceSpecifierBuilder {
1498
+ (exported: K.IdentifierKind): N.ExportNamespaceSpecifier;
1499
+ from(params: {
1500
+ comments?: K.CommentKind[] | null;
1501
+ exported: K.IdentifierKind;
1502
+ loc?: K.SourceLocationKind | null;
1503
+ }): N.ExportNamespaceSpecifier;
1504
+ }
1505
+ export interface ExportDefaultSpecifierBuilder {
1506
+ (exported: K.IdentifierKind): N.ExportDefaultSpecifier;
1507
+ from(params: {
1508
+ comments?: K.CommentKind[] | null;
1509
+ exported: K.IdentifierKind;
1510
+ loc?: K.SourceLocationKind | null;
1511
+ }): N.ExportDefaultSpecifier;
1512
+ }
1513
+ export interface ExportAllDeclarationBuilder {
1514
+ (exported: K.IdentifierKind | null, source: K.LiteralKind): N.ExportAllDeclaration;
1515
+ from(params: {
1516
+ comments?: K.CommentKind[] | null;
1517
+ exported: K.IdentifierKind | null;
1518
+ loc?: K.SourceLocationKind | null;
1519
+ source: K.LiteralKind;
1520
+ }): N.ExportAllDeclaration;
1521
+ }
1522
+ export interface CommentBlockBuilder {
1523
+ (value: string, leading?: boolean, trailing?: boolean): N.CommentBlock;
1524
+ from(params: {
1525
+ leading?: boolean;
1526
+ loc?: K.SourceLocationKind | null;
1527
+ trailing?: boolean;
1528
+ value: string;
1529
+ }): N.CommentBlock;
1530
+ }
1531
+ export interface CommentLineBuilder {
1532
+ (value: string, leading?: boolean, trailing?: boolean): N.CommentLine;
1533
+ from(params: {
1534
+ leading?: boolean;
1535
+ loc?: K.SourceLocationKind | null;
1536
+ trailing?: boolean;
1537
+ value: string;
1538
+ }): N.CommentLine;
1539
+ }
1540
+ export interface DirectiveBuilder {
1541
+ (value: K.DirectiveLiteralKind): N.Directive;
1542
+ from(params: {
1543
+ comments?: K.CommentKind[] | null;
1544
+ loc?: K.SourceLocationKind | null;
1545
+ value: K.DirectiveLiteralKind;
1546
+ }): N.Directive;
1547
+ }
1548
+ export interface DirectiveLiteralBuilder {
1549
+ (value?: string): N.DirectiveLiteral;
1550
+ from(params: {
1551
+ comments?: K.CommentKind[] | null;
1552
+ loc?: K.SourceLocationKind | null;
1553
+ value?: string;
1554
+ }): N.DirectiveLiteral;
1555
+ }
1556
+ export interface InterpreterDirectiveBuilder {
1557
+ (value: string): N.InterpreterDirective;
1558
+ from(params: {
1559
+ comments?: K.CommentKind[] | null;
1560
+ loc?: K.SourceLocationKind | null;
1561
+ value: string;
1562
+ }): N.InterpreterDirective;
1563
+ }
1564
+ export interface StringLiteralBuilder {
1565
+ (value: string): N.StringLiteral;
1566
+ from(params: {
1567
+ comments?: K.CommentKind[] | null;
1568
+ loc?: K.SourceLocationKind | null;
1569
+ regex?: {
1570
+ pattern: string;
1571
+ flags: string;
1572
+ } | null;
1573
+ value: string;
1574
+ }): N.StringLiteral;
1575
+ }
1576
+ export interface NumericLiteralBuilder {
1577
+ (value: number): N.NumericLiteral;
1578
+ from(params: {
1579
+ comments?: K.CommentKind[] | null;
1580
+ extra?: {
1581
+ rawValue: number;
1582
+ raw: string;
1583
+ };
1584
+ loc?: K.SourceLocationKind | null;
1585
+ raw?: string | null;
1586
+ regex?: {
1587
+ pattern: string;
1588
+ flags: string;
1589
+ } | null;
1590
+ value: number;
1591
+ }): N.NumericLiteral;
1592
+ }
1593
+ export interface BigIntLiteralBuilder {
1594
+ (value: string | number): N.BigIntLiteral;
1595
+ from(params: {
1596
+ comments?: K.CommentKind[] | null;
1597
+ extra?: {
1598
+ rawValue: string;
1599
+ raw: string;
1600
+ };
1601
+ loc?: K.SourceLocationKind | null;
1602
+ regex?: {
1603
+ pattern: string;
1604
+ flags: string;
1605
+ } | null;
1606
+ value: string | number;
1607
+ }): N.BigIntLiteral;
1608
+ }
1609
+ export interface NullLiteralBuilder {
1610
+ (): N.NullLiteral;
1611
+ from(params: {
1612
+ comments?: K.CommentKind[] | null;
1613
+ loc?: K.SourceLocationKind | null;
1614
+ regex?: {
1615
+ pattern: string;
1616
+ flags: string;
1617
+ } | null;
1618
+ value?: null;
1619
+ }): N.NullLiteral;
1620
+ }
1621
+ export interface BooleanLiteralBuilder {
1622
+ (value: boolean): N.BooleanLiteral;
1623
+ from(params: {
1624
+ comments?: K.CommentKind[] | null;
1625
+ loc?: K.SourceLocationKind | null;
1626
+ regex?: {
1627
+ pattern: string;
1628
+ flags: string;
1629
+ } | null;
1630
+ value: boolean;
1631
+ }): N.BooleanLiteral;
1632
+ }
1633
+ export interface RegExpLiteralBuilder {
1634
+ (pattern: string, flags: string): N.RegExpLiteral;
1635
+ from(params: {
1636
+ comments?: K.CommentKind[] | null;
1637
+ flags: string;
1638
+ loc?: K.SourceLocationKind | null;
1639
+ pattern: string;
1640
+ regex?: {
1641
+ pattern: string;
1642
+ flags: string;
1643
+ } | null;
1644
+ value?: RegExp;
1645
+ }): N.RegExpLiteral;
1646
+ }
1647
+ export interface ObjectMethodBuilder {
1648
+ (kind: "method" | "get" | "set", key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, params: K.PatternKind[], body: K.BlockStatementKind, computed?: boolean): N.ObjectMethod;
1649
+ from(params: {
1650
+ accessibility?: K.LiteralKind | null;
1651
+ async?: boolean;
1652
+ body: K.BlockStatementKind;
1653
+ comments?: K.CommentKind[] | null;
1654
+ computed?: boolean;
1655
+ decorators?: K.DecoratorKind[] | null;
1656
+ defaults?: (K.ExpressionKind | null)[];
1657
+ expression?: boolean;
1658
+ generator?: boolean;
1659
+ id?: K.IdentifierKind | null;
1660
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
1661
+ kind: "method" | "get" | "set";
1662
+ loc?: K.SourceLocationKind | null;
1663
+ params: K.PatternKind[];
1664
+ rest?: K.IdentifierKind | null;
1665
+ returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
1666
+ typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
1667
+ }): N.ObjectMethod;
1668
+ }
1669
+ export interface ClassPrivatePropertyBuilder {
1670
+ (key: K.PrivateNameKind, value?: K.ExpressionKind | null): N.ClassPrivateProperty;
1671
+ from(params: {
1672
+ comments?: K.CommentKind[] | null;
1673
+ computed?: boolean;
1674
+ key: K.PrivateNameKind;
1675
+ loc?: K.SourceLocationKind | null;
1676
+ static?: boolean;
1677
+ typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
1678
+ value?: K.ExpressionKind | null;
1679
+ variance?: K.VarianceKind | "plus" | "minus" | null;
1680
+ }): N.ClassPrivateProperty;
1681
+ }
1682
+ export interface ClassMethodBuilder {
1683
+ (kind: "get" | "set" | "method" | "constructor" | undefined, key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, params: K.PatternKind[], body: K.BlockStatementKind, computed?: boolean, staticParam?: boolean | null): N.ClassMethod;
1684
+ from(params: {
1685
+ abstract?: boolean | null;
1686
+ access?: "public" | "private" | "protected" | null;
1687
+ accessibility?: "public" | "private" | "protected" | null;
1688
+ async?: boolean;
1689
+ body: K.BlockStatementKind;
1690
+ comments?: K.CommentKind[] | null;
1691
+ computed?: boolean;
1692
+ decorators?: K.DecoratorKind[] | null;
1693
+ defaults?: (K.ExpressionKind | null)[];
1694
+ expression?: boolean;
1695
+ generator?: boolean;
1696
+ id?: K.IdentifierKind | null;
1697
+ key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
1698
+ kind?: "get" | "set" | "method" | "constructor";
1699
+ loc?: K.SourceLocationKind | null;
1700
+ optional?: boolean | null;
1701
+ params: K.PatternKind[];
1702
+ rest?: K.IdentifierKind | null;
1703
+ returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
1704
+ static?: boolean | null;
1705
+ typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
1706
+ }): N.ClassMethod;
1707
+ }
1708
+ export interface ClassPrivateMethodBuilder {
1709
+ (key: K.PrivateNameKind, params: K.PatternKind[], body: K.BlockStatementKind, kind?: "get" | "set" | "method" | "constructor", computed?: boolean, staticParam?: boolean | null): N.ClassPrivateMethod;
1710
+ from(params: {
1711
+ abstract?: boolean | null;
1712
+ access?: "public" | "private" | "protected" | null;
1713
+ accessibility?: "public" | "private" | "protected" | null;
1714
+ async?: boolean;
1715
+ body: K.BlockStatementKind;
1716
+ comments?: K.CommentKind[] | null;
1717
+ computed?: boolean;
1718
+ decorators?: K.DecoratorKind[] | null;
1719
+ defaults?: (K.ExpressionKind | null)[];
1720
+ expression?: boolean;
1721
+ generator?: boolean;
1722
+ id?: K.IdentifierKind | null;
1723
+ key: K.PrivateNameKind;
1724
+ kind?: "get" | "set" | "method" | "constructor";
1725
+ loc?: K.SourceLocationKind | null;
1726
+ optional?: boolean | null;
1727
+ params: K.PatternKind[];
1728
+ rest?: K.IdentifierKind | null;
1729
+ returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
1730
+ static?: boolean | null;
1731
+ typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
1732
+ }): N.ClassPrivateMethod;
1733
+ }
1734
+ export interface PrivateNameBuilder {
1735
+ (id: K.IdentifierKind): N.PrivateName;
1736
+ from(params: {
1737
+ comments?: K.CommentKind[] | null;
1738
+ id: K.IdentifierKind;
1739
+ loc?: K.SourceLocationKind | null;
1740
+ }): N.PrivateName;
1741
+ }
1742
+ export interface RestPropertyBuilder {
1743
+ (argument: K.ExpressionKind): N.RestProperty;
1744
+ from(params: {
1745
+ argument: K.ExpressionKind;
1746
+ comments?: K.CommentKind[] | null;
1747
+ loc?: K.SourceLocationKind | null;
1748
+ }): N.RestProperty;
1749
+ }
1750
+ export interface ForAwaitStatementBuilder {
1751
+ (left: K.VariableDeclarationKind | K.ExpressionKind, right: K.ExpressionKind, body: K.StatementKind): N.ForAwaitStatement;
1752
+ from(params: {
1753
+ body: K.StatementKind;
1754
+ comments?: K.CommentKind[] | null;
1755
+ left: K.VariableDeclarationKind | K.ExpressionKind;
1756
+ loc?: K.SourceLocationKind | null;
1757
+ right: K.ExpressionKind;
1758
+ }): N.ForAwaitStatement;
1759
+ }
1760
+ export interface ImportBuilder {
1761
+ (): N.Import;
1762
+ from(params: {
1763
+ comments?: K.CommentKind[] | null;
1764
+ loc?: K.SourceLocationKind | null;
1765
+ }): N.Import;
1766
+ }
1767
+ export interface TSQualifiedNameBuilder {
1768
+ (left: K.IdentifierKind | K.TSQualifiedNameKind, right: K.IdentifierKind | K.TSQualifiedNameKind): N.TSQualifiedName;
1769
+ from(params: {
1770
+ comments?: K.CommentKind[] | null;
1771
+ left: K.IdentifierKind | K.TSQualifiedNameKind;
1772
+ loc?: K.SourceLocationKind | null;
1773
+ right: K.IdentifierKind | K.TSQualifiedNameKind;
1774
+ }): N.TSQualifiedName;
1775
+ }
1776
+ export interface TSTypeReferenceBuilder {
1777
+ (typeName: K.IdentifierKind | K.TSQualifiedNameKind, typeParameters?: K.TSTypeParameterInstantiationKind | null): N.TSTypeReference;
1778
+ from(params: {
1779
+ comments?: K.CommentKind[] | null;
1780
+ loc?: K.SourceLocationKind | null;
1781
+ typeName: K.IdentifierKind | K.TSQualifiedNameKind;
1782
+ typeParameters?: K.TSTypeParameterInstantiationKind | null;
1783
+ }): N.TSTypeReference;
1784
+ }
1785
+ export interface TSAsExpressionBuilder {
1786
+ (expression: K.ExpressionKind): N.TSAsExpression;
1787
+ from(params: {
1788
+ comments?: K.CommentKind[] | null;
1789
+ expression: K.ExpressionKind;
1790
+ extra?: {
1791
+ parenthesized: boolean;
1792
+ } | null;
1793
+ loc?: K.SourceLocationKind | null;
1794
+ typeAnnotation: K.TSTypeKind;
1795
+ }): N.TSAsExpression;
1796
+ }
1797
+ export interface TSNonNullExpressionBuilder {
1798
+ (expression: K.ExpressionKind): N.TSNonNullExpression;
1799
+ from(params: {
1800
+ comments?: K.CommentKind[] | null;
1801
+ expression: K.ExpressionKind;
1802
+ loc?: K.SourceLocationKind | null;
1803
+ }): N.TSNonNullExpression;
1804
+ }
1805
+ export interface TSAnyKeywordBuilder {
1806
+ (): N.TSAnyKeyword;
1807
+ from(params: {
1808
+ comments?: K.CommentKind[] | null;
1809
+ loc?: K.SourceLocationKind | null;
1810
+ }): N.TSAnyKeyword;
1811
+ }
1812
+ export interface TSBooleanKeywordBuilder {
1813
+ (): N.TSBooleanKeyword;
1814
+ from(params: {
1815
+ comments?: K.CommentKind[] | null;
1816
+ loc?: K.SourceLocationKind | null;
1817
+ }): N.TSBooleanKeyword;
1818
+ }
1819
+ export interface TSNeverKeywordBuilder {
1820
+ (): N.TSNeverKeyword;
1821
+ from(params: {
1822
+ comments?: K.CommentKind[] | null;
1823
+ loc?: K.SourceLocationKind | null;
1824
+ }): N.TSNeverKeyword;
1825
+ }
1826
+ export interface TSNullKeywordBuilder {
1827
+ (): N.TSNullKeyword;
1828
+ from(params: {
1829
+ comments?: K.CommentKind[] | null;
1830
+ loc?: K.SourceLocationKind | null;
1831
+ }): N.TSNullKeyword;
1832
+ }
1833
+ export interface TSNumberKeywordBuilder {
1834
+ (): N.TSNumberKeyword;
1835
+ from(params: {
1836
+ comments?: K.CommentKind[] | null;
1837
+ loc?: K.SourceLocationKind | null;
1838
+ }): N.TSNumberKeyword;
1839
+ }
1840
+ export interface TSObjectKeywordBuilder {
1841
+ (): N.TSObjectKeyword;
1842
+ from(params: {
1843
+ comments?: K.CommentKind[] | null;
1844
+ loc?: K.SourceLocationKind | null;
1845
+ }): N.TSObjectKeyword;
1846
+ }
1847
+ export interface TSStringKeywordBuilder {
1848
+ (): N.TSStringKeyword;
1849
+ from(params: {
1850
+ comments?: K.CommentKind[] | null;
1851
+ loc?: K.SourceLocationKind | null;
1852
+ }): N.TSStringKeyword;
1853
+ }
1854
+ export interface TSSymbolKeywordBuilder {
1855
+ (): N.TSSymbolKeyword;
1856
+ from(params: {
1857
+ comments?: K.CommentKind[] | null;
1858
+ loc?: K.SourceLocationKind | null;
1859
+ }): N.TSSymbolKeyword;
1860
+ }
1861
+ export interface TSUndefinedKeywordBuilder {
1862
+ (): N.TSUndefinedKeyword;
1863
+ from(params: {
1864
+ comments?: K.CommentKind[] | null;
1865
+ loc?: K.SourceLocationKind | null;
1866
+ }): N.TSUndefinedKeyword;
1867
+ }
1868
+ export interface TSUnknownKeywordBuilder {
1869
+ (): N.TSUnknownKeyword;
1870
+ from(params: {
1871
+ comments?: K.CommentKind[] | null;
1872
+ loc?: K.SourceLocationKind | null;
1873
+ }): N.TSUnknownKeyword;
1874
+ }
1875
+ export interface TSVoidKeywordBuilder {
1876
+ (): N.TSVoidKeyword;
1877
+ from(params: {
1878
+ comments?: K.CommentKind[] | null;
1879
+ loc?: K.SourceLocationKind | null;
1880
+ }): N.TSVoidKeyword;
1881
+ }
1882
+ export interface TSThisTypeBuilder {
1883
+ (): N.TSThisType;
1884
+ from(params: {
1885
+ comments?: K.CommentKind[] | null;
1886
+ loc?: K.SourceLocationKind | null;
1887
+ }): N.TSThisType;
1888
+ }
1889
+ export interface TSArrayTypeBuilder {
1890
+ (elementType: K.TSTypeKind): N.TSArrayType;
1891
+ from(params: {
1892
+ comments?: K.CommentKind[] | null;
1893
+ elementType: K.TSTypeKind;
1894
+ loc?: K.SourceLocationKind | null;
1895
+ }): N.TSArrayType;
1896
+ }
1897
+ export interface TSLiteralTypeBuilder {
1898
+ (literal: K.NumericLiteralKind | K.StringLiteralKind | K.BooleanLiteralKind): N.TSLiteralType;
1899
+ from(params: {
1900
+ comments?: K.CommentKind[] | null;
1901
+ literal: K.NumericLiteralKind | K.StringLiteralKind | K.BooleanLiteralKind;
1902
+ loc?: K.SourceLocationKind | null;
1903
+ }): N.TSLiteralType;
1904
+ }
1905
+ export interface TSUnionTypeBuilder {
1906
+ (types: K.TSTypeKind[]): N.TSUnionType;
1907
+ from(params: {
1908
+ comments?: K.CommentKind[] | null;
1909
+ loc?: K.SourceLocationKind | null;
1910
+ types: K.TSTypeKind[];
1911
+ }): N.TSUnionType;
1912
+ }
1913
+ export interface TSIntersectionTypeBuilder {
1914
+ (types: K.TSTypeKind[]): N.TSIntersectionType;
1915
+ from(params: {
1916
+ comments?: K.CommentKind[] | null;
1917
+ loc?: K.SourceLocationKind | null;
1918
+ types: K.TSTypeKind[];
1919
+ }): N.TSIntersectionType;
1920
+ }
1921
+ export interface TSConditionalTypeBuilder {
1922
+ (checkType: K.TSTypeKind, extendsType: K.TSTypeKind, trueType: K.TSTypeKind, falseType: K.TSTypeKind): N.TSConditionalType;
1923
+ from(params: {
1924
+ checkType: K.TSTypeKind;
1925
+ comments?: K.CommentKind[] | null;
1926
+ extendsType: K.TSTypeKind;
1927
+ falseType: K.TSTypeKind;
1928
+ loc?: K.SourceLocationKind | null;
1929
+ trueType: K.TSTypeKind;
1930
+ }): N.TSConditionalType;
1931
+ }
1932
+ export interface TSInferTypeBuilder {
1933
+ (typeParameter: K.TSTypeParameterKind): N.TSInferType;
1934
+ from(params: {
1935
+ comments?: K.CommentKind[] | null;
1936
+ loc?: K.SourceLocationKind | null;
1937
+ typeParameter: K.TSTypeParameterKind;
1938
+ }): N.TSInferType;
1939
+ }
1940
+ export interface TSTypeParameterBuilder {
1941
+ (name: string, constraint?: K.TSTypeKind | undefined, defaultParam?: K.TSTypeKind | undefined): N.TSTypeParameter;
1942
+ from(params: {
1943
+ comments?: K.CommentKind[] | null;
1944
+ constraint?: K.TSTypeKind | undefined;
1945
+ default?: K.TSTypeKind | undefined;
1946
+ loc?: K.SourceLocationKind | null;
1947
+ name: string;
1948
+ optional?: boolean;
1949
+ typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
1950
+ }): N.TSTypeParameter;
1951
+ }
1952
+ export interface TSParenthesizedTypeBuilder {
1953
+ (typeAnnotation: K.TSTypeKind): N.TSParenthesizedType;
1954
+ from(params: {
1955
+ comments?: K.CommentKind[] | null;
1956
+ loc?: K.SourceLocationKind | null;
1957
+ typeAnnotation: K.TSTypeKind;
1958
+ }): N.TSParenthesizedType;
1959
+ }
1960
+ export interface TSFunctionTypeBuilder {
1961
+ (parameters: (K.IdentifierKind | K.RestElementKind | K.ObjectPatternKind)[]): N.TSFunctionType;
1962
+ from(params: {
1963
+ comments?: K.CommentKind[] | null;
1964
+ loc?: K.SourceLocationKind | null;
1965
+ parameters: (K.IdentifierKind | K.RestElementKind | K.ObjectPatternKind)[];
1966
+ typeAnnotation?: K.TSTypeAnnotationKind | null;
1967
+ typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
1968
+ }): N.TSFunctionType;
1969
+ }
1970
+ export interface TSConstructorTypeBuilder {
1971
+ (parameters: (K.IdentifierKind | K.RestElementKind | K.ObjectPatternKind)[]): N.TSConstructorType;
1972
+ from(params: {
1973
+ comments?: K.CommentKind[] | null;
1974
+ loc?: K.SourceLocationKind | null;
1975
+ parameters: (K.IdentifierKind | K.RestElementKind | K.ObjectPatternKind)[];
1976
+ typeAnnotation?: K.TSTypeAnnotationKind | null;
1977
+ typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
1978
+ }): N.TSConstructorType;
1979
+ }
1980
+ export interface TSDeclareFunctionBuilder {
1981
+ (id: K.IdentifierKind | null | undefined, params: K.PatternKind[], returnType?: K.TSTypeAnnotationKind | K.NoopKind | null): N.TSDeclareFunction;
1982
+ from(params: {
1983
+ async?: boolean;
1984
+ comments?: K.CommentKind[] | null;
1985
+ declare?: boolean;
1986
+ generator?: boolean;
1987
+ id?: K.IdentifierKind | null;
1988
+ loc?: K.SourceLocationKind | null;
1989
+ params: K.PatternKind[];
1990
+ returnType?: K.TSTypeAnnotationKind | K.NoopKind | null;
1991
+ typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
1992
+ }): N.TSDeclareFunction;
1993
+ }
1994
+ export interface TSDeclareMethodBuilder {
1995
+ (key: K.IdentifierKind | K.StringLiteralKind | K.NumericLiteralKind | K.ExpressionKind, params: K.PatternKind[], returnType?: K.TSTypeAnnotationKind | K.NoopKind | null): N.TSDeclareMethod;
1996
+ from(params: {
1997
+ abstract?: boolean;
1998
+ access?: "public" | "private" | "protected" | undefined;
1999
+ accessibility?: "public" | "private" | "protected" | undefined;
2000
+ async?: boolean;
2001
+ comments?: K.CommentKind[] | null;
2002
+ computed?: boolean;
2003
+ decorators?: K.DecoratorKind[] | null;
2004
+ generator?: boolean;
2005
+ key: K.IdentifierKind | K.StringLiteralKind | K.NumericLiteralKind | K.ExpressionKind;
2006
+ kind?: "get" | "set" | "method" | "constructor";
2007
+ loc?: K.SourceLocationKind | null;
2008
+ optional?: boolean;
2009
+ params: K.PatternKind[];
2010
+ returnType?: K.TSTypeAnnotationKind | K.NoopKind | null;
2011
+ static?: boolean;
2012
+ typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
2013
+ }): N.TSDeclareMethod;
2014
+ }
2015
+ export interface TSMappedTypeBuilder {
2016
+ (typeParameter: K.TSTypeParameterKind, typeAnnotation?: K.TSTypeKind | null): N.TSMappedType;
2017
+ from(params: {
2018
+ comments?: K.CommentKind[] | null;
2019
+ loc?: K.SourceLocationKind | null;
2020
+ optional?: boolean | "+" | "-";
2021
+ readonly?: boolean | "+" | "-";
2022
+ typeAnnotation?: K.TSTypeKind | null;
2023
+ typeParameter: K.TSTypeParameterKind;
2024
+ }): N.TSMappedType;
2025
+ }
2026
+ export interface TSTupleTypeBuilder {
2027
+ (elementTypes: K.TSTypeKind[]): N.TSTupleType;
2028
+ from(params: {
2029
+ comments?: K.CommentKind[] | null;
2030
+ elementTypes: K.TSTypeKind[];
2031
+ loc?: K.SourceLocationKind | null;
2032
+ }): N.TSTupleType;
2033
+ }
2034
+ export interface TSRestTypeBuilder {
2035
+ (typeAnnotation: K.TSTypeKind): N.TSRestType;
2036
+ from(params: {
2037
+ comments?: K.CommentKind[] | null;
2038
+ loc?: K.SourceLocationKind | null;
2039
+ typeAnnotation: K.TSTypeKind;
2040
+ }): N.TSRestType;
2041
+ }
2042
+ export interface TSOptionalTypeBuilder {
2043
+ (typeAnnotation: K.TSTypeKind): N.TSOptionalType;
2044
+ from(params: {
2045
+ comments?: K.CommentKind[] | null;
2046
+ loc?: K.SourceLocationKind | null;
2047
+ typeAnnotation: K.TSTypeKind;
2048
+ }): N.TSOptionalType;
2049
+ }
2050
+ export interface TSIndexedAccessTypeBuilder {
2051
+ (objectType: K.TSTypeKind, indexType: K.TSTypeKind): N.TSIndexedAccessType;
2052
+ from(params: {
2053
+ comments?: K.CommentKind[] | null;
2054
+ indexType: K.TSTypeKind;
2055
+ loc?: K.SourceLocationKind | null;
2056
+ objectType: K.TSTypeKind;
2057
+ }): N.TSIndexedAccessType;
2058
+ }
2059
+ export interface TSTypeOperatorBuilder {
2060
+ (operator: string): N.TSTypeOperator;
2061
+ from(params: {
2062
+ comments?: K.CommentKind[] | null;
2063
+ loc?: K.SourceLocationKind | null;
2064
+ operator: string;
2065
+ typeAnnotation: K.TSTypeKind;
2066
+ }): N.TSTypeOperator;
2067
+ }
2068
+ export interface TSIndexSignatureBuilder {
2069
+ (parameters: K.IdentifierKind[], typeAnnotation?: K.TSTypeAnnotationKind | null): N.TSIndexSignature;
2070
+ from(params: {
2071
+ comments?: K.CommentKind[] | null;
2072
+ loc?: K.SourceLocationKind | null;
2073
+ parameters: K.IdentifierKind[];
2074
+ readonly?: boolean;
2075
+ typeAnnotation?: K.TSTypeAnnotationKind | null;
2076
+ }): N.TSIndexSignature;
2077
+ }
2078
+ export interface TSPropertySignatureBuilder {
2079
+ (key: K.ExpressionKind, typeAnnotation?: K.TSTypeAnnotationKind | null, optional?: boolean): N.TSPropertySignature;
2080
+ from(params: {
2081
+ comments?: K.CommentKind[] | null;
2082
+ computed?: boolean;
2083
+ initializer?: K.ExpressionKind | null;
2084
+ key: K.ExpressionKind;
2085
+ loc?: K.SourceLocationKind | null;
2086
+ optional?: boolean;
2087
+ readonly?: boolean;
2088
+ typeAnnotation?: K.TSTypeAnnotationKind | null;
2089
+ }): N.TSPropertySignature;
2090
+ }
2091
+ export interface TSMethodSignatureBuilder {
2092
+ (key: K.ExpressionKind, parameters: (K.IdentifierKind | K.RestElementKind | K.ObjectPatternKind)[], typeAnnotation?: K.TSTypeAnnotationKind | null): N.TSMethodSignature;
2093
+ from(params: {
2094
+ comments?: K.CommentKind[] | null;
2095
+ computed?: boolean;
2096
+ key: K.ExpressionKind;
2097
+ loc?: K.SourceLocationKind | null;
2098
+ optional?: boolean;
2099
+ parameters: (K.IdentifierKind | K.RestElementKind | K.ObjectPatternKind)[];
2100
+ typeAnnotation?: K.TSTypeAnnotationKind | null;
2101
+ typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
2102
+ }): N.TSMethodSignature;
2103
+ }
2104
+ export interface TSTypePredicateBuilder {
2105
+ (parameterName: K.IdentifierKind | K.TSThisTypeKind, typeAnnotation: K.TSTypeAnnotationKind): N.TSTypePredicate;
2106
+ from(params: {
2107
+ comments?: K.CommentKind[] | null;
2108
+ loc?: K.SourceLocationKind | null;
2109
+ parameterName: K.IdentifierKind | K.TSThisTypeKind;
2110
+ typeAnnotation: K.TSTypeAnnotationKind;
2111
+ }): N.TSTypePredicate;
2112
+ }
2113
+ export interface TSCallSignatureDeclarationBuilder {
2114
+ (parameters: (K.IdentifierKind | K.RestElementKind | K.ObjectPatternKind)[], typeAnnotation?: K.TSTypeAnnotationKind | null): N.TSCallSignatureDeclaration;
2115
+ from(params: {
2116
+ comments?: K.CommentKind[] | null;
2117
+ loc?: K.SourceLocationKind | null;
2118
+ parameters: (K.IdentifierKind | K.RestElementKind | K.ObjectPatternKind)[];
2119
+ typeAnnotation?: K.TSTypeAnnotationKind | null;
2120
+ typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
2121
+ }): N.TSCallSignatureDeclaration;
2122
+ }
2123
+ export interface TSConstructSignatureDeclarationBuilder {
2124
+ (parameters: (K.IdentifierKind | K.RestElementKind | K.ObjectPatternKind)[], typeAnnotation?: K.TSTypeAnnotationKind | null): N.TSConstructSignatureDeclaration;
2125
+ from(params: {
2126
+ comments?: K.CommentKind[] | null;
2127
+ loc?: K.SourceLocationKind | null;
2128
+ parameters: (K.IdentifierKind | K.RestElementKind | K.ObjectPatternKind)[];
2129
+ typeAnnotation?: K.TSTypeAnnotationKind | null;
2130
+ typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
2131
+ }): N.TSConstructSignatureDeclaration;
2132
+ }
2133
+ export interface TSEnumMemberBuilder {
2134
+ (id: K.IdentifierKind | K.StringLiteralKind, initializer?: K.ExpressionKind | null): N.TSEnumMember;
2135
+ from(params: {
2136
+ comments?: K.CommentKind[] | null;
2137
+ id: K.IdentifierKind | K.StringLiteralKind;
2138
+ initializer?: K.ExpressionKind | null;
2139
+ loc?: K.SourceLocationKind | null;
2140
+ }): N.TSEnumMember;
2141
+ }
2142
+ export interface TSTypeQueryBuilder {
2143
+ (exprName: K.IdentifierKind | K.TSQualifiedNameKind): N.TSTypeQuery;
2144
+ from(params: {
2145
+ comments?: K.CommentKind[] | null;
2146
+ exprName: K.IdentifierKind | K.TSQualifiedNameKind;
2147
+ loc?: K.SourceLocationKind | null;
2148
+ }): N.TSTypeQuery;
2149
+ }
2150
+ export interface TSTypeLiteralBuilder {
2151
+ (members: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[]): N.TSTypeLiteral;
2152
+ from(params: {
2153
+ comments?: K.CommentKind[] | null;
2154
+ loc?: K.SourceLocationKind | null;
2155
+ members: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[];
2156
+ }): N.TSTypeLiteral;
2157
+ }
2158
+ export interface TSTypeAssertionBuilder {
2159
+ (typeAnnotation: K.TSTypeKind, expression: K.ExpressionKind): N.TSTypeAssertion;
2160
+ from(params: {
2161
+ comments?: K.CommentKind[] | null;
2162
+ expression: K.ExpressionKind;
2163
+ extra?: {
2164
+ parenthesized: boolean;
2165
+ } | null;
2166
+ loc?: K.SourceLocationKind | null;
2167
+ typeAnnotation: K.TSTypeKind;
2168
+ }): N.TSTypeAssertion;
2169
+ }
2170
+ export interface TSEnumDeclarationBuilder {
2171
+ (id: K.IdentifierKind, members: K.TSEnumMemberKind[]): N.TSEnumDeclaration;
2172
+ from(params: {
2173
+ comments?: K.CommentKind[] | null;
2174
+ const?: boolean;
2175
+ declare?: boolean;
2176
+ id: K.IdentifierKind;
2177
+ initializer?: K.ExpressionKind | null;
2178
+ loc?: K.SourceLocationKind | null;
2179
+ members: K.TSEnumMemberKind[];
2180
+ }): N.TSEnumDeclaration;
2181
+ }
2182
+ export interface TSTypeAliasDeclarationBuilder {
2183
+ (id: K.IdentifierKind, typeAnnotation: K.TSTypeKind): N.TSTypeAliasDeclaration;
2184
+ from(params: {
2185
+ comments?: K.CommentKind[] | null;
2186
+ declare?: boolean;
2187
+ id: K.IdentifierKind;
2188
+ loc?: K.SourceLocationKind | null;
2189
+ typeAnnotation: K.TSTypeKind;
2190
+ typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
2191
+ }): N.TSTypeAliasDeclaration;
2192
+ }
2193
+ export interface TSModuleBlockBuilder {
2194
+ (body: K.StatementKind[]): N.TSModuleBlock;
2195
+ from(params: {
2196
+ body: K.StatementKind[];
2197
+ comments?: K.CommentKind[] | null;
2198
+ loc?: K.SourceLocationKind | null;
2199
+ }): N.TSModuleBlock;
2200
+ }
2201
+ export interface TSModuleDeclarationBuilder {
2202
+ (id: K.StringLiteralKind | K.IdentifierKind | K.TSQualifiedNameKind, body?: K.TSModuleBlockKind | K.TSModuleDeclarationKind | null): N.TSModuleDeclaration;
2203
+ from(params: {
2204
+ body?: K.TSModuleBlockKind | K.TSModuleDeclarationKind | null;
2205
+ comments?: K.CommentKind[] | null;
2206
+ declare?: boolean;
2207
+ global?: boolean;
2208
+ id: K.StringLiteralKind | K.IdentifierKind | K.TSQualifiedNameKind;
2209
+ loc?: K.SourceLocationKind | null;
2210
+ }): N.TSModuleDeclaration;
2211
+ }
2212
+ export interface TSImportEqualsDeclarationBuilder {
2213
+ (id: K.IdentifierKind, moduleReference: K.IdentifierKind | K.TSQualifiedNameKind | K.TSExternalModuleReferenceKind): N.TSImportEqualsDeclaration;
2214
+ from(params: {
2215
+ comments?: K.CommentKind[] | null;
2216
+ id: K.IdentifierKind;
2217
+ isExport?: boolean;
2218
+ loc?: K.SourceLocationKind | null;
2219
+ moduleReference: K.IdentifierKind | K.TSQualifiedNameKind | K.TSExternalModuleReferenceKind;
2220
+ }): N.TSImportEqualsDeclaration;
2221
+ }
2222
+ export interface TSExternalModuleReferenceBuilder {
2223
+ (expression: K.StringLiteralKind): N.TSExternalModuleReference;
2224
+ from(params: {
2225
+ comments?: K.CommentKind[] | null;
2226
+ expression: K.StringLiteralKind;
2227
+ loc?: K.SourceLocationKind | null;
2228
+ }): N.TSExternalModuleReference;
2229
+ }
2230
+ export interface TSExportAssignmentBuilder {
2231
+ (expression: K.ExpressionKind): N.TSExportAssignment;
2232
+ from(params: {
2233
+ comments?: K.CommentKind[] | null;
2234
+ expression: K.ExpressionKind;
2235
+ loc?: K.SourceLocationKind | null;
2236
+ }): N.TSExportAssignment;
2237
+ }
2238
+ export interface TSNamespaceExportDeclarationBuilder {
2239
+ (id: K.IdentifierKind): N.TSNamespaceExportDeclaration;
2240
+ from(params: {
2241
+ comments?: K.CommentKind[] | null;
2242
+ id: K.IdentifierKind;
2243
+ loc?: K.SourceLocationKind | null;
2244
+ }): N.TSNamespaceExportDeclaration;
2245
+ }
2246
+ export interface TSInterfaceBodyBuilder {
2247
+ (body: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[]): N.TSInterfaceBody;
2248
+ from(params: {
2249
+ body: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[];
2250
+ comments?: K.CommentKind[] | null;
2251
+ loc?: K.SourceLocationKind | null;
2252
+ }): N.TSInterfaceBody;
2253
+ }
2254
+ export interface TSInterfaceDeclarationBuilder {
2255
+ (id: K.IdentifierKind | K.TSQualifiedNameKind, body: K.TSInterfaceBodyKind): N.TSInterfaceDeclaration;
2256
+ from(params: {
2257
+ body: K.TSInterfaceBodyKind;
2258
+ comments?: K.CommentKind[] | null;
2259
+ declare?: boolean;
2260
+ extends?: K.TSExpressionWithTypeArgumentsKind[] | null;
2261
+ id: K.IdentifierKind | K.TSQualifiedNameKind;
2262
+ loc?: K.SourceLocationKind | null;
2263
+ typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
2264
+ }): N.TSInterfaceDeclaration;
2265
+ }
2266
+ export interface TSParameterPropertyBuilder {
2267
+ (parameter: K.IdentifierKind | K.AssignmentPatternKind): N.TSParameterProperty;
2268
+ from(params: {
2269
+ accessibility?: "public" | "private" | "protected" | undefined;
2270
+ comments?: K.CommentKind[] | null;
2271
+ loc?: K.SourceLocationKind | null;
2272
+ parameter: K.IdentifierKind | K.AssignmentPatternKind;
2273
+ readonly?: boolean;
2274
+ }): N.TSParameterProperty;
2275
+ }
2276
+ export interface OptionalMemberExpressionBuilder {
2277
+ (object: K.ExpressionKind, property: K.IdentifierKind | K.ExpressionKind, computed?: boolean, optional?: boolean): N.OptionalMemberExpression;
2278
+ from(params: {
2279
+ comments?: K.CommentKind[] | null;
2280
+ computed?: boolean;
2281
+ loc?: K.SourceLocationKind | null;
2282
+ object: K.ExpressionKind;
2283
+ optional?: boolean;
2284
+ property: K.IdentifierKind | K.ExpressionKind;
2285
+ }): N.OptionalMemberExpression;
2286
+ }
2287
+ export interface OptionalCallExpressionBuilder {
2288
+ (callee: K.ExpressionKind, argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[], optional?: boolean): N.OptionalCallExpression;
2289
+ from(params: {
2290
+ arguments: (K.ExpressionKind | K.SpreadElementKind)[];
2291
+ callee: K.ExpressionKind;
2292
+ comments?: K.CommentKind[] | null;
2293
+ loc?: K.SourceLocationKind | null;
2294
+ optional?: boolean;
2295
+ }): N.OptionalCallExpression;
2296
+ }
2297
+ export interface Builders {
2298
+ file: FileBuilder;
2299
+ program: ProgramBuilder;
2300
+ identifier: IdentifierBuilder;
2301
+ blockStatement: BlockStatementBuilder;
2302
+ emptyStatement: EmptyStatementBuilder;
2303
+ expressionStatement: ExpressionStatementBuilder;
2304
+ ifStatement: IfStatementBuilder;
2305
+ labeledStatement: LabeledStatementBuilder;
2306
+ breakStatement: BreakStatementBuilder;
2307
+ continueStatement: ContinueStatementBuilder;
2308
+ withStatement: WithStatementBuilder;
2309
+ switchStatement: SwitchStatementBuilder;
2310
+ switchCase: SwitchCaseBuilder;
2311
+ returnStatement: ReturnStatementBuilder;
2312
+ throwStatement: ThrowStatementBuilder;
2313
+ tryStatement: TryStatementBuilder;
2314
+ catchClause: CatchClauseBuilder;
2315
+ whileStatement: WhileStatementBuilder;
2316
+ doWhileStatement: DoWhileStatementBuilder;
2317
+ forStatement: ForStatementBuilder;
2318
+ variableDeclaration: VariableDeclarationBuilder;
2319
+ forInStatement: ForInStatementBuilder;
2320
+ debuggerStatement: DebuggerStatementBuilder;
2321
+ functionDeclaration: FunctionDeclarationBuilder;
2322
+ functionExpression: FunctionExpressionBuilder;
2323
+ variableDeclarator: VariableDeclaratorBuilder;
2324
+ thisExpression: ThisExpressionBuilder;
2325
+ arrayExpression: ArrayExpressionBuilder;
2326
+ objectExpression: ObjectExpressionBuilder;
2327
+ property: PropertyBuilder;
2328
+ literal: LiteralBuilder;
2329
+ sequenceExpression: SequenceExpressionBuilder;
2330
+ unaryExpression: UnaryExpressionBuilder;
2331
+ binaryExpression: BinaryExpressionBuilder;
2332
+ assignmentExpression: AssignmentExpressionBuilder;
2333
+ updateExpression: UpdateExpressionBuilder;
2334
+ logicalExpression: LogicalExpressionBuilder;
2335
+ conditionalExpression: ConditionalExpressionBuilder;
2336
+ newExpression: NewExpressionBuilder;
2337
+ callExpression: CallExpressionBuilder;
2338
+ memberExpression: MemberExpressionBuilder;
2339
+ restElement: RestElementBuilder;
2340
+ typeAnnotation: TypeAnnotationBuilder;
2341
+ tsTypeAnnotation: TSTypeAnnotationBuilder;
2342
+ spreadElementPattern: SpreadElementPatternBuilder;
2343
+ arrowFunctionExpression: ArrowFunctionExpressionBuilder;
2344
+ forOfStatement: ForOfStatementBuilder;
2345
+ yieldExpression: YieldExpressionBuilder;
2346
+ generatorExpression: GeneratorExpressionBuilder;
2347
+ comprehensionBlock: ComprehensionBlockBuilder;
2348
+ comprehensionExpression: ComprehensionExpressionBuilder;
2349
+ objectProperty: ObjectPropertyBuilder;
2350
+ propertyPattern: PropertyPatternBuilder;
2351
+ objectPattern: ObjectPatternBuilder;
2352
+ arrayPattern: ArrayPatternBuilder;
2353
+ methodDefinition: MethodDefinitionBuilder;
2354
+ spreadElement: SpreadElementBuilder;
2355
+ assignmentPattern: AssignmentPatternBuilder;
2356
+ classPropertyDefinition: ClassPropertyDefinitionBuilder;
2357
+ classProperty: ClassPropertyBuilder;
2358
+ classBody: ClassBodyBuilder;
2359
+ classDeclaration: ClassDeclarationBuilder;
2360
+ classExpression: ClassExpressionBuilder;
2361
+ importSpecifier: ImportSpecifierBuilder;
2362
+ importNamespaceSpecifier: ImportNamespaceSpecifierBuilder;
2363
+ importDefaultSpecifier: ImportDefaultSpecifierBuilder;
2364
+ importDeclaration: ImportDeclarationBuilder;
2365
+ taggedTemplateExpression: TaggedTemplateExpressionBuilder;
2366
+ templateLiteral: TemplateLiteralBuilder;
2367
+ templateElement: TemplateElementBuilder;
2368
+ spreadProperty: SpreadPropertyBuilder;
2369
+ spreadPropertyPattern: SpreadPropertyPatternBuilder;
2370
+ awaitExpression: AwaitExpressionBuilder;
2371
+ jsxAttribute: JSXAttributeBuilder;
2372
+ jsxIdentifier: JSXIdentifierBuilder;
2373
+ jsxNamespacedName: JSXNamespacedNameBuilder;
2374
+ jsxExpressionContainer: JSXExpressionContainerBuilder;
2375
+ jsxMemberExpression: JSXMemberExpressionBuilder;
2376
+ jsxSpreadAttribute: JSXSpreadAttributeBuilder;
2377
+ jsxElement: JSXElementBuilder;
2378
+ jsxOpeningElement: JSXOpeningElementBuilder;
2379
+ jsxClosingElement: JSXClosingElementBuilder;
2380
+ jsxFragment: JSXFragmentBuilder;
2381
+ jsxText: JSXTextBuilder;
2382
+ jsxOpeningFragment: JSXOpeningFragmentBuilder;
2383
+ jsxClosingFragment: JSXClosingFragmentBuilder;
2384
+ jsxEmptyExpression: JSXEmptyExpressionBuilder;
2385
+ jsxSpreadChild: JSXSpreadChildBuilder;
2386
+ typeParameterDeclaration: TypeParameterDeclarationBuilder;
2387
+ tsTypeParameterDeclaration: TSTypeParameterDeclarationBuilder;
2388
+ typeParameterInstantiation: TypeParameterInstantiationBuilder;
2389
+ tsTypeParameterInstantiation: TSTypeParameterInstantiationBuilder;
2390
+ classImplements: ClassImplementsBuilder;
2391
+ tsExpressionWithTypeArguments: TSExpressionWithTypeArgumentsBuilder;
2392
+ anyTypeAnnotation: AnyTypeAnnotationBuilder;
2393
+ emptyTypeAnnotation: EmptyTypeAnnotationBuilder;
2394
+ mixedTypeAnnotation: MixedTypeAnnotationBuilder;
2395
+ voidTypeAnnotation: VoidTypeAnnotationBuilder;
2396
+ numberTypeAnnotation: NumberTypeAnnotationBuilder;
2397
+ numberLiteralTypeAnnotation: NumberLiteralTypeAnnotationBuilder;
2398
+ numericLiteralTypeAnnotation: NumericLiteralTypeAnnotationBuilder;
2399
+ stringTypeAnnotation: StringTypeAnnotationBuilder;
2400
+ stringLiteralTypeAnnotation: StringLiteralTypeAnnotationBuilder;
2401
+ booleanTypeAnnotation: BooleanTypeAnnotationBuilder;
2402
+ booleanLiteralTypeAnnotation: BooleanLiteralTypeAnnotationBuilder;
2403
+ nullableTypeAnnotation: NullableTypeAnnotationBuilder;
2404
+ nullLiteralTypeAnnotation: NullLiteralTypeAnnotationBuilder;
2405
+ nullTypeAnnotation: NullTypeAnnotationBuilder;
2406
+ thisTypeAnnotation: ThisTypeAnnotationBuilder;
2407
+ existsTypeAnnotation: ExistsTypeAnnotationBuilder;
2408
+ existentialTypeParam: ExistentialTypeParamBuilder;
2409
+ functionTypeAnnotation: FunctionTypeAnnotationBuilder;
2410
+ functionTypeParam: FunctionTypeParamBuilder;
2411
+ arrayTypeAnnotation: ArrayTypeAnnotationBuilder;
2412
+ objectTypeAnnotation: ObjectTypeAnnotationBuilder;
2413
+ objectTypeProperty: ObjectTypePropertyBuilder;
2414
+ objectTypeSpreadProperty: ObjectTypeSpreadPropertyBuilder;
2415
+ objectTypeIndexer: ObjectTypeIndexerBuilder;
2416
+ objectTypeCallProperty: ObjectTypeCallPropertyBuilder;
2417
+ objectTypeInternalSlot: ObjectTypeInternalSlotBuilder;
2418
+ variance: VarianceBuilder;
2419
+ qualifiedTypeIdentifier: QualifiedTypeIdentifierBuilder;
2420
+ genericTypeAnnotation: GenericTypeAnnotationBuilder;
2421
+ memberTypeAnnotation: MemberTypeAnnotationBuilder;
2422
+ unionTypeAnnotation: UnionTypeAnnotationBuilder;
2423
+ intersectionTypeAnnotation: IntersectionTypeAnnotationBuilder;
2424
+ typeofTypeAnnotation: TypeofTypeAnnotationBuilder;
2425
+ typeParameter: TypeParameterBuilder;
2426
+ interfaceTypeAnnotation: InterfaceTypeAnnotationBuilder;
2427
+ interfaceExtends: InterfaceExtendsBuilder;
2428
+ interfaceDeclaration: InterfaceDeclarationBuilder;
2429
+ declareInterface: DeclareInterfaceBuilder;
2430
+ typeAlias: TypeAliasBuilder;
2431
+ opaqueType: OpaqueTypeBuilder;
2432
+ declareTypeAlias: DeclareTypeAliasBuilder;
2433
+ declareOpaqueType: DeclareOpaqueTypeBuilder;
2434
+ typeCastExpression: TypeCastExpressionBuilder;
2435
+ tupleTypeAnnotation: TupleTypeAnnotationBuilder;
2436
+ declareVariable: DeclareVariableBuilder;
2437
+ declareFunction: DeclareFunctionBuilder;
2438
+ declareClass: DeclareClassBuilder;
2439
+ declareModule: DeclareModuleBuilder;
2440
+ declareModuleExports: DeclareModuleExportsBuilder;
2441
+ declareExportDeclaration: DeclareExportDeclarationBuilder;
2442
+ exportSpecifier: ExportSpecifierBuilder;
2443
+ exportBatchSpecifier: ExportBatchSpecifierBuilder;
2444
+ declareExportAllDeclaration: DeclareExportAllDeclarationBuilder;
2445
+ inferredPredicate: InferredPredicateBuilder;
2446
+ declaredPredicate: DeclaredPredicateBuilder;
2447
+ exportDeclaration: ExportDeclarationBuilder;
2448
+ block: BlockBuilder;
2449
+ line: LineBuilder;
2450
+ noop: NoopBuilder;
2451
+ doExpression: DoExpressionBuilder;
2452
+ super: SuperBuilder;
2453
+ bindExpression: BindExpressionBuilder;
2454
+ decorator: DecoratorBuilder;
2455
+ metaProperty: MetaPropertyBuilder;
2456
+ parenthesizedExpression: ParenthesizedExpressionBuilder;
2457
+ exportDefaultDeclaration: ExportDefaultDeclarationBuilder;
2458
+ exportNamedDeclaration: ExportNamedDeclarationBuilder;
2459
+ exportNamespaceSpecifier: ExportNamespaceSpecifierBuilder;
2460
+ exportDefaultSpecifier: ExportDefaultSpecifierBuilder;
2461
+ exportAllDeclaration: ExportAllDeclarationBuilder;
2462
+ commentBlock: CommentBlockBuilder;
2463
+ commentLine: CommentLineBuilder;
2464
+ directive: DirectiveBuilder;
2465
+ directiveLiteral: DirectiveLiteralBuilder;
2466
+ interpreterDirective: InterpreterDirectiveBuilder;
2467
+ stringLiteral: StringLiteralBuilder;
2468
+ numericLiteral: NumericLiteralBuilder;
2469
+ bigIntLiteral: BigIntLiteralBuilder;
2470
+ nullLiteral: NullLiteralBuilder;
2471
+ booleanLiteral: BooleanLiteralBuilder;
2472
+ regExpLiteral: RegExpLiteralBuilder;
2473
+ objectMethod: ObjectMethodBuilder;
2474
+ classPrivateProperty: ClassPrivatePropertyBuilder;
2475
+ classMethod: ClassMethodBuilder;
2476
+ classPrivateMethod: ClassPrivateMethodBuilder;
2477
+ privateName: PrivateNameBuilder;
2478
+ restProperty: RestPropertyBuilder;
2479
+ forAwaitStatement: ForAwaitStatementBuilder;
2480
+ import: ImportBuilder;
2481
+ tsQualifiedName: TSQualifiedNameBuilder;
2482
+ tsTypeReference: TSTypeReferenceBuilder;
2483
+ tsAsExpression: TSAsExpressionBuilder;
2484
+ tsNonNullExpression: TSNonNullExpressionBuilder;
2485
+ tsAnyKeyword: TSAnyKeywordBuilder;
2486
+ tsBooleanKeyword: TSBooleanKeywordBuilder;
2487
+ tsNeverKeyword: TSNeverKeywordBuilder;
2488
+ tsNullKeyword: TSNullKeywordBuilder;
2489
+ tsNumberKeyword: TSNumberKeywordBuilder;
2490
+ tsObjectKeyword: TSObjectKeywordBuilder;
2491
+ tsStringKeyword: TSStringKeywordBuilder;
2492
+ tsSymbolKeyword: TSSymbolKeywordBuilder;
2493
+ tsUndefinedKeyword: TSUndefinedKeywordBuilder;
2494
+ tsUnknownKeyword: TSUnknownKeywordBuilder;
2495
+ tsVoidKeyword: TSVoidKeywordBuilder;
2496
+ tsThisType: TSThisTypeBuilder;
2497
+ tsArrayType: TSArrayTypeBuilder;
2498
+ tsLiteralType: TSLiteralTypeBuilder;
2499
+ tsUnionType: TSUnionTypeBuilder;
2500
+ tsIntersectionType: TSIntersectionTypeBuilder;
2501
+ tsConditionalType: TSConditionalTypeBuilder;
2502
+ tsInferType: TSInferTypeBuilder;
2503
+ tsTypeParameter: TSTypeParameterBuilder;
2504
+ tsParenthesizedType: TSParenthesizedTypeBuilder;
2505
+ tsFunctionType: TSFunctionTypeBuilder;
2506
+ tsConstructorType: TSConstructorTypeBuilder;
2507
+ tsDeclareFunction: TSDeclareFunctionBuilder;
2508
+ tsDeclareMethod: TSDeclareMethodBuilder;
2509
+ tsMappedType: TSMappedTypeBuilder;
2510
+ tsTupleType: TSTupleTypeBuilder;
2511
+ tsRestType: TSRestTypeBuilder;
2512
+ tsOptionalType: TSOptionalTypeBuilder;
2513
+ tsIndexedAccessType: TSIndexedAccessTypeBuilder;
2514
+ tsTypeOperator: TSTypeOperatorBuilder;
2515
+ tsIndexSignature: TSIndexSignatureBuilder;
2516
+ tsPropertySignature: TSPropertySignatureBuilder;
2517
+ tsMethodSignature: TSMethodSignatureBuilder;
2518
+ tsTypePredicate: TSTypePredicateBuilder;
2519
+ tsCallSignatureDeclaration: TSCallSignatureDeclarationBuilder;
2520
+ tsConstructSignatureDeclaration: TSConstructSignatureDeclarationBuilder;
2521
+ tsEnumMember: TSEnumMemberBuilder;
2522
+ tsTypeQuery: TSTypeQueryBuilder;
2523
+ tsTypeLiteral: TSTypeLiteralBuilder;
2524
+ tsTypeAssertion: TSTypeAssertionBuilder;
2525
+ tsEnumDeclaration: TSEnumDeclarationBuilder;
2526
+ tsTypeAliasDeclaration: TSTypeAliasDeclarationBuilder;
2527
+ tsModuleBlock: TSModuleBlockBuilder;
2528
+ tsModuleDeclaration: TSModuleDeclarationBuilder;
2529
+ tsImportEqualsDeclaration: TSImportEqualsDeclarationBuilder;
2530
+ tsExternalModuleReference: TSExternalModuleReferenceBuilder;
2531
+ tsExportAssignment: TSExportAssignmentBuilder;
2532
+ tsNamespaceExportDeclaration: TSNamespaceExportDeclarationBuilder;
2533
+ tsInterfaceBody: TSInterfaceBodyBuilder;
2534
+ tsInterfaceDeclaration: TSInterfaceDeclarationBuilder;
2535
+ tsParameterProperty: TSParameterPropertyBuilder;
2536
+ optionalMemberExpression: OptionalMemberExpressionBuilder;
2537
+ optionalCallExpression: OptionalCallExpressionBuilder;
2538
+ [builderName: string]: any;
2539
+ }