tsc-ts 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1711 @@
1
+ // Generated by scripts/generate-api.mjs from typescript-go _scripts/ast.json (TypeScript 7.0.2).
2
+ // TypeScript is Copyright Microsoft Corporation, licensed under Apache-2.0. Do not edit.
3
+
4
+ import type { JsxTagNamePropertyAccess, ModifierList, Node, NodeList } from './ast.js';
5
+ import type { ModifierFlags, NodeFlags, SyntaxKind, TokenFlags } from './enums.generated.js';
6
+
7
+ export type TriviaSyntaxKind =
8
+ | SyntaxKind.SingleLineCommentTrivia
9
+ | SyntaxKind.MultiLineCommentTrivia
10
+ | SyntaxKind.NewLineTrivia
11
+ | SyntaxKind.WhitespaceTrivia
12
+ | SyntaxKind.ConflictMarkerTrivia;
13
+ export type LiteralSyntaxKind =
14
+ | SyntaxKind.NumericLiteral
15
+ | SyntaxKind.BigIntLiteral
16
+ | SyntaxKind.StringLiteral
17
+ | SyntaxKind.JsxText
18
+ | SyntaxKind.JsxTextAllWhiteSpaces
19
+ | SyntaxKind.RegularExpressionLiteral
20
+ | SyntaxKind.NoSubstitutionTemplateLiteral;
21
+ export type PseudoLiteralSyntaxKind = SyntaxKind.TemplateHead | SyntaxKind.TemplateMiddle | SyntaxKind.TemplateTail;
22
+ export type PunctuationSyntaxKind =
23
+ | SyntaxKind.OpenBraceToken
24
+ | SyntaxKind.CloseBraceToken
25
+ | SyntaxKind.OpenParenToken
26
+ | SyntaxKind.CloseParenToken
27
+ | SyntaxKind.OpenBracketToken
28
+ | SyntaxKind.CloseBracketToken
29
+ | SyntaxKind.DotToken
30
+ | SyntaxKind.DotDotDotToken
31
+ | SyntaxKind.SemicolonToken
32
+ | SyntaxKind.CommaToken
33
+ | SyntaxKind.QuestionDotToken
34
+ | SyntaxKind.LessThanToken
35
+ | SyntaxKind.LessThanSlashToken
36
+ | SyntaxKind.GreaterThanToken
37
+ | SyntaxKind.LessThanEqualsToken
38
+ | SyntaxKind.GreaterThanEqualsToken
39
+ | SyntaxKind.EqualsEqualsToken
40
+ | SyntaxKind.ExclamationEqualsToken
41
+ | SyntaxKind.EqualsEqualsEqualsToken
42
+ | SyntaxKind.ExclamationEqualsEqualsToken
43
+ | SyntaxKind.EqualsGreaterThanToken
44
+ | SyntaxKind.PlusToken
45
+ | SyntaxKind.MinusToken
46
+ | SyntaxKind.AsteriskToken
47
+ | SyntaxKind.AsteriskAsteriskToken
48
+ | SyntaxKind.SlashToken
49
+ | SyntaxKind.PercentToken
50
+ | SyntaxKind.PlusPlusToken
51
+ | SyntaxKind.MinusMinusToken
52
+ | SyntaxKind.LessThanLessThanToken
53
+ | SyntaxKind.GreaterThanGreaterThanToken
54
+ | SyntaxKind.GreaterThanGreaterThanGreaterThanToken
55
+ | SyntaxKind.AmpersandToken
56
+ | SyntaxKind.BarToken
57
+ | SyntaxKind.CaretToken
58
+ | SyntaxKind.ExclamationToken
59
+ | SyntaxKind.TildeToken
60
+ | SyntaxKind.AmpersandAmpersandToken
61
+ | SyntaxKind.BarBarToken
62
+ | SyntaxKind.QuestionToken
63
+ | SyntaxKind.ColonToken
64
+ | SyntaxKind.AtToken
65
+ | SyntaxKind.QuestionQuestionToken
66
+ | SyntaxKind.BacktickToken
67
+ | SyntaxKind.HashToken
68
+ | SyntaxKind.EqualsToken
69
+ | SyntaxKind.PlusEqualsToken
70
+ | SyntaxKind.MinusEqualsToken
71
+ | SyntaxKind.AsteriskEqualsToken
72
+ | SyntaxKind.AsteriskAsteriskEqualsToken
73
+ | SyntaxKind.SlashEqualsToken
74
+ | SyntaxKind.PercentEqualsToken
75
+ | SyntaxKind.LessThanLessThanEqualsToken
76
+ | SyntaxKind.GreaterThanGreaterThanEqualsToken
77
+ | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken
78
+ | SyntaxKind.AmpersandEqualsToken
79
+ | SyntaxKind.BarEqualsToken
80
+ | SyntaxKind.BarBarEqualsToken
81
+ | SyntaxKind.AmpersandAmpersandEqualsToken
82
+ | SyntaxKind.QuestionQuestionEqualsToken
83
+ | SyntaxKind.CaretEqualsToken;
84
+ export type KeywordSyntaxKind =
85
+ | SyntaxKind.BreakKeyword
86
+ | SyntaxKind.CaseKeyword
87
+ | SyntaxKind.CatchKeyword
88
+ | SyntaxKind.ClassKeyword
89
+ | SyntaxKind.ConstKeyword
90
+ | SyntaxKind.ContinueKeyword
91
+ | SyntaxKind.DebuggerKeyword
92
+ | SyntaxKind.DefaultKeyword
93
+ | SyntaxKind.DeleteKeyword
94
+ | SyntaxKind.DoKeyword
95
+ | SyntaxKind.ElseKeyword
96
+ | SyntaxKind.EnumKeyword
97
+ | SyntaxKind.ExportKeyword
98
+ | SyntaxKind.ExtendsKeyword
99
+ | SyntaxKind.FalseKeyword
100
+ | SyntaxKind.FinallyKeyword
101
+ | SyntaxKind.ForKeyword
102
+ | SyntaxKind.FunctionKeyword
103
+ | SyntaxKind.IfKeyword
104
+ | SyntaxKind.ImportKeyword
105
+ | SyntaxKind.InKeyword
106
+ | SyntaxKind.InstanceOfKeyword
107
+ | SyntaxKind.NewKeyword
108
+ | SyntaxKind.NullKeyword
109
+ | SyntaxKind.ReturnKeyword
110
+ | SyntaxKind.SuperKeyword
111
+ | SyntaxKind.SwitchKeyword
112
+ | SyntaxKind.ThisKeyword
113
+ | SyntaxKind.ThrowKeyword
114
+ | SyntaxKind.TrueKeyword
115
+ | SyntaxKind.TryKeyword
116
+ | SyntaxKind.TypeOfKeyword
117
+ | SyntaxKind.VarKeyword
118
+ | SyntaxKind.VoidKeyword
119
+ | SyntaxKind.WhileKeyword
120
+ | SyntaxKind.WithKeyword
121
+ | SyntaxKind.ImplementsKeyword
122
+ | SyntaxKind.InterfaceKeyword
123
+ | SyntaxKind.LetKeyword
124
+ | SyntaxKind.PackageKeyword
125
+ | SyntaxKind.PrivateKeyword
126
+ | SyntaxKind.ProtectedKeyword
127
+ | SyntaxKind.PublicKeyword
128
+ | SyntaxKind.StaticKeyword
129
+ | SyntaxKind.YieldKeyword
130
+ | SyntaxKind.AbstractKeyword
131
+ | SyntaxKind.AccessorKeyword
132
+ | SyntaxKind.AsKeyword
133
+ | SyntaxKind.AssertsKeyword
134
+ | SyntaxKind.AssertKeyword
135
+ | SyntaxKind.AnyKeyword
136
+ | SyntaxKind.AsyncKeyword
137
+ | SyntaxKind.AwaitKeyword
138
+ | SyntaxKind.BooleanKeyword
139
+ | SyntaxKind.ConstructorKeyword
140
+ | SyntaxKind.DeclareKeyword
141
+ | SyntaxKind.GetKeyword
142
+ | SyntaxKind.ImmediateKeyword
143
+ | SyntaxKind.InferKeyword
144
+ | SyntaxKind.IntrinsicKeyword
145
+ | SyntaxKind.IsKeyword
146
+ | SyntaxKind.KeyOfKeyword
147
+ | SyntaxKind.ModuleKeyword
148
+ | SyntaxKind.NamespaceKeyword
149
+ | SyntaxKind.NeverKeyword
150
+ | SyntaxKind.OutKeyword
151
+ | SyntaxKind.ReadonlyKeyword
152
+ | SyntaxKind.RequireKeyword
153
+ | SyntaxKind.NumberKeyword
154
+ | SyntaxKind.ObjectKeyword
155
+ | SyntaxKind.SatisfiesKeyword
156
+ | SyntaxKind.SetKeyword
157
+ | SyntaxKind.StringKeyword
158
+ | SyntaxKind.SymbolKeyword
159
+ | SyntaxKind.TypeKeyword
160
+ | SyntaxKind.UndefinedKeyword
161
+ | SyntaxKind.UniqueKeyword
162
+ | SyntaxKind.UnknownKeyword
163
+ | SyntaxKind.UsingKeyword
164
+ | SyntaxKind.FromKeyword
165
+ | SyntaxKind.GlobalKeyword
166
+ | SyntaxKind.BigIntKeyword
167
+ | SyntaxKind.OverrideKeyword
168
+ | SyntaxKind.OfKeyword
169
+ | SyntaxKind.DeferKeyword;
170
+ export type ModifierSyntaxKind =
171
+ | SyntaxKind.AbstractKeyword
172
+ | SyntaxKind.AccessorKeyword
173
+ | SyntaxKind.AsyncKeyword
174
+ | SyntaxKind.ConstKeyword
175
+ | SyntaxKind.DeclareKeyword
176
+ | SyntaxKind.DefaultKeyword
177
+ | SyntaxKind.ExportKeyword
178
+ | SyntaxKind.InKeyword
179
+ | SyntaxKind.PrivateKeyword
180
+ | SyntaxKind.ProtectedKeyword
181
+ | SyntaxKind.PublicKeyword
182
+ | SyntaxKind.ReadonlyKeyword
183
+ | SyntaxKind.OutKeyword
184
+ | SyntaxKind.OverrideKeyword
185
+ | SyntaxKind.StaticKeyword;
186
+ export type KeywordTypeSyntaxKind =
187
+ | SyntaxKind.AnyKeyword
188
+ | SyntaxKind.BigIntKeyword
189
+ | SyntaxKind.BooleanKeyword
190
+ | SyntaxKind.IntrinsicKeyword
191
+ | SyntaxKind.NeverKeyword
192
+ | SyntaxKind.NumberKeyword
193
+ | SyntaxKind.ObjectKeyword
194
+ | SyntaxKind.StringKeyword
195
+ | SyntaxKind.SymbolKeyword
196
+ | SyntaxKind.UndefinedKeyword
197
+ | SyntaxKind.UnknownKeyword
198
+ | SyntaxKind.VoidKeyword;
199
+ export type KeywordExpressionSyntaxKind =
200
+ | SyntaxKind.NullKeyword
201
+ | SyntaxKind.TrueKeyword
202
+ | SyntaxKind.FalseKeyword
203
+ | SyntaxKind.ThisKeyword
204
+ | SyntaxKind.SuperKeyword
205
+ | SyntaxKind.ImportKeyword;
206
+ export type TokenSyntaxKind =
207
+ | SyntaxKind.Unknown
208
+ | SyntaxKind.EndOfFile
209
+ | SyntaxKind.SingleLineCommentTrivia
210
+ | SyntaxKind.MultiLineCommentTrivia
211
+ | SyntaxKind.NewLineTrivia
212
+ | SyntaxKind.WhitespaceTrivia
213
+ | SyntaxKind.ConflictMarkerTrivia
214
+ | SyntaxKind.NonTextFileMarkerTrivia
215
+ | SyntaxKind.NumericLiteral
216
+ | SyntaxKind.BigIntLiteral
217
+ | SyntaxKind.StringLiteral
218
+ | SyntaxKind.JsxText
219
+ | SyntaxKind.JsxTextAllWhiteSpaces
220
+ | SyntaxKind.RegularExpressionLiteral
221
+ | SyntaxKind.NoSubstitutionTemplateLiteral
222
+ | SyntaxKind.TemplateHead
223
+ | SyntaxKind.TemplateMiddle
224
+ | SyntaxKind.TemplateTail
225
+ | SyntaxKind.OpenBraceToken
226
+ | SyntaxKind.CloseBraceToken
227
+ | SyntaxKind.OpenParenToken
228
+ | SyntaxKind.CloseParenToken
229
+ | SyntaxKind.OpenBracketToken
230
+ | SyntaxKind.CloseBracketToken
231
+ | SyntaxKind.DotToken
232
+ | SyntaxKind.DotDotDotToken
233
+ | SyntaxKind.SemicolonToken
234
+ | SyntaxKind.CommaToken
235
+ | SyntaxKind.QuestionDotToken
236
+ | SyntaxKind.LessThanToken
237
+ | SyntaxKind.LessThanSlashToken
238
+ | SyntaxKind.GreaterThanToken
239
+ | SyntaxKind.LessThanEqualsToken
240
+ | SyntaxKind.GreaterThanEqualsToken
241
+ | SyntaxKind.EqualsEqualsToken
242
+ | SyntaxKind.ExclamationEqualsToken
243
+ | SyntaxKind.EqualsEqualsEqualsToken
244
+ | SyntaxKind.ExclamationEqualsEqualsToken
245
+ | SyntaxKind.EqualsGreaterThanToken
246
+ | SyntaxKind.PlusToken
247
+ | SyntaxKind.MinusToken
248
+ | SyntaxKind.AsteriskToken
249
+ | SyntaxKind.AsteriskAsteriskToken
250
+ | SyntaxKind.SlashToken
251
+ | SyntaxKind.PercentToken
252
+ | SyntaxKind.PlusPlusToken
253
+ | SyntaxKind.MinusMinusToken
254
+ | SyntaxKind.LessThanLessThanToken
255
+ | SyntaxKind.GreaterThanGreaterThanToken
256
+ | SyntaxKind.GreaterThanGreaterThanGreaterThanToken
257
+ | SyntaxKind.AmpersandToken
258
+ | SyntaxKind.BarToken
259
+ | SyntaxKind.CaretToken
260
+ | SyntaxKind.ExclamationToken
261
+ | SyntaxKind.TildeToken
262
+ | SyntaxKind.AmpersandAmpersandToken
263
+ | SyntaxKind.BarBarToken
264
+ | SyntaxKind.QuestionToken
265
+ | SyntaxKind.ColonToken
266
+ | SyntaxKind.AtToken
267
+ | SyntaxKind.QuestionQuestionToken
268
+ | SyntaxKind.BacktickToken
269
+ | SyntaxKind.HashToken
270
+ | SyntaxKind.EqualsToken
271
+ | SyntaxKind.PlusEqualsToken
272
+ | SyntaxKind.MinusEqualsToken
273
+ | SyntaxKind.AsteriskEqualsToken
274
+ | SyntaxKind.AsteriskAsteriskEqualsToken
275
+ | SyntaxKind.SlashEqualsToken
276
+ | SyntaxKind.PercentEqualsToken
277
+ | SyntaxKind.LessThanLessThanEqualsToken
278
+ | SyntaxKind.GreaterThanGreaterThanEqualsToken
279
+ | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken
280
+ | SyntaxKind.AmpersandEqualsToken
281
+ | SyntaxKind.BarEqualsToken
282
+ | SyntaxKind.BarBarEqualsToken
283
+ | SyntaxKind.AmpersandAmpersandEqualsToken
284
+ | SyntaxKind.QuestionQuestionEqualsToken
285
+ | SyntaxKind.CaretEqualsToken
286
+ | SyntaxKind.Identifier
287
+ | SyntaxKind.PrivateIdentifier
288
+ | SyntaxKind.JSDocCommentTextToken
289
+ | SyntaxKind.BreakKeyword
290
+ | SyntaxKind.CaseKeyword
291
+ | SyntaxKind.CatchKeyword
292
+ | SyntaxKind.ClassKeyword
293
+ | SyntaxKind.ConstKeyword
294
+ | SyntaxKind.ContinueKeyword
295
+ | SyntaxKind.DebuggerKeyword
296
+ | SyntaxKind.DefaultKeyword
297
+ | SyntaxKind.DeleteKeyword
298
+ | SyntaxKind.DoKeyword
299
+ | SyntaxKind.ElseKeyword
300
+ | SyntaxKind.EnumKeyword
301
+ | SyntaxKind.ExportKeyword
302
+ | SyntaxKind.ExtendsKeyword
303
+ | SyntaxKind.FalseKeyword
304
+ | SyntaxKind.FinallyKeyword
305
+ | SyntaxKind.ForKeyword
306
+ | SyntaxKind.FunctionKeyword
307
+ | SyntaxKind.IfKeyword
308
+ | SyntaxKind.ImportKeyword
309
+ | SyntaxKind.InKeyword
310
+ | SyntaxKind.InstanceOfKeyword
311
+ | SyntaxKind.NewKeyword
312
+ | SyntaxKind.NullKeyword
313
+ | SyntaxKind.ReturnKeyword
314
+ | SyntaxKind.SuperKeyword
315
+ | SyntaxKind.SwitchKeyword
316
+ | SyntaxKind.ThisKeyword
317
+ | SyntaxKind.ThrowKeyword
318
+ | SyntaxKind.TrueKeyword
319
+ | SyntaxKind.TryKeyword
320
+ | SyntaxKind.TypeOfKeyword
321
+ | SyntaxKind.VarKeyword
322
+ | SyntaxKind.VoidKeyword
323
+ | SyntaxKind.WhileKeyword
324
+ | SyntaxKind.WithKeyword
325
+ | SyntaxKind.ImplementsKeyword
326
+ | SyntaxKind.InterfaceKeyword
327
+ | SyntaxKind.LetKeyword
328
+ | SyntaxKind.PackageKeyword
329
+ | SyntaxKind.PrivateKeyword
330
+ | SyntaxKind.ProtectedKeyword
331
+ | SyntaxKind.PublicKeyword
332
+ | SyntaxKind.StaticKeyword
333
+ | SyntaxKind.YieldKeyword
334
+ | SyntaxKind.AbstractKeyword
335
+ | SyntaxKind.AccessorKeyword
336
+ | SyntaxKind.AsKeyword
337
+ | SyntaxKind.AssertsKeyword
338
+ | SyntaxKind.AssertKeyword
339
+ | SyntaxKind.AnyKeyword
340
+ | SyntaxKind.AsyncKeyword
341
+ | SyntaxKind.AwaitKeyword
342
+ | SyntaxKind.BooleanKeyword
343
+ | SyntaxKind.ConstructorKeyword
344
+ | SyntaxKind.DeclareKeyword
345
+ | SyntaxKind.GetKeyword
346
+ | SyntaxKind.ImmediateKeyword
347
+ | SyntaxKind.InferKeyword
348
+ | SyntaxKind.IntrinsicKeyword
349
+ | SyntaxKind.IsKeyword
350
+ | SyntaxKind.KeyOfKeyword
351
+ | SyntaxKind.ModuleKeyword
352
+ | SyntaxKind.NamespaceKeyword
353
+ | SyntaxKind.NeverKeyword
354
+ | SyntaxKind.OutKeyword
355
+ | SyntaxKind.ReadonlyKeyword
356
+ | SyntaxKind.RequireKeyword
357
+ | SyntaxKind.NumberKeyword
358
+ | SyntaxKind.ObjectKeyword
359
+ | SyntaxKind.SatisfiesKeyword
360
+ | SyntaxKind.SetKeyword
361
+ | SyntaxKind.StringKeyword
362
+ | SyntaxKind.SymbolKeyword
363
+ | SyntaxKind.TypeKeyword
364
+ | SyntaxKind.UndefinedKeyword
365
+ | SyntaxKind.UniqueKeyword
366
+ | SyntaxKind.UnknownKeyword
367
+ | SyntaxKind.UsingKeyword
368
+ | SyntaxKind.FromKeyword
369
+ | SyntaxKind.GlobalKeyword
370
+ | SyntaxKind.BigIntKeyword
371
+ | SyntaxKind.OverrideKeyword
372
+ | SyntaxKind.OfKeyword
373
+ | SyntaxKind.DeferKeyword;
374
+ export type JsxTokenSyntaxKind =
375
+ | SyntaxKind.LessThanSlashToken
376
+ | SyntaxKind.EndOfFile
377
+ | SyntaxKind.ConflictMarkerTrivia
378
+ | SyntaxKind.JsxText
379
+ | SyntaxKind.JsxTextAllWhiteSpaces
380
+ | SyntaxKind.OpenBraceToken
381
+ | SyntaxKind.LessThanToken;
382
+ export type JSDocNodeSyntaxKind =
383
+ | SyntaxKind.JSDocTypeExpression
384
+ | SyntaxKind.JSDocNameReference
385
+ | SyntaxKind.JSDocAllType
386
+ | SyntaxKind.JSDocNullableType
387
+ | SyntaxKind.JSDocNonNullableType
388
+ | SyntaxKind.JSDocOptionalType
389
+ | SyntaxKind.JSDocVariadicType
390
+ | SyntaxKind.JSDoc
391
+ | SyntaxKind.JSDocText
392
+ | SyntaxKind.JSDocTypeLiteral
393
+ | SyntaxKind.JSDocSignature
394
+ | SyntaxKind.JSDocLink
395
+ | SyntaxKind.JSDocLinkCode
396
+ | SyntaxKind.JSDocLinkPlain
397
+ | SyntaxKind.JSDocUnknownTag
398
+ | SyntaxKind.JSDocAugmentsTag
399
+ | SyntaxKind.JSDocImplementsTag
400
+ | SyntaxKind.JSDocDeprecatedTag
401
+ | SyntaxKind.JSDocPublicTag
402
+ | SyntaxKind.JSDocPrivateTag
403
+ | SyntaxKind.JSDocProtectedTag
404
+ | SyntaxKind.JSDocReadonlyTag
405
+ | SyntaxKind.JSDocOverrideTag
406
+ | SyntaxKind.JSDocCallbackTag
407
+ | SyntaxKind.JSDocOverloadTag
408
+ | SyntaxKind.JSDocParameterTag
409
+ | SyntaxKind.JSDocReturnTag
410
+ | SyntaxKind.JSDocThisTag
411
+ | SyntaxKind.JSDocTypeTag
412
+ | SyntaxKind.JSDocTemplateTag
413
+ | SyntaxKind.JSDocTypedefTag
414
+ | SyntaxKind.JSDocSeeTag
415
+ | SyntaxKind.JSDocPropertyTag
416
+ | SyntaxKind.JSDocThrowsTag
417
+ | SyntaxKind.JSDocSatisfiesTag
418
+ | SyntaxKind.JSDocImportTag;
419
+ export type ImportPhaseModifierSyntaxKind = SyntaxKind.TypeKeyword | SyntaxKind.DeferKeyword;
420
+ export type PostfixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken;
421
+ export type PrefixUnaryOperator =
422
+ | SyntaxKind.PlusToken
423
+ | SyntaxKind.MinusToken
424
+ | SyntaxKind.TildeToken
425
+ | SyntaxKind.ExclamationToken
426
+ | SyntaxKind.PlusPlusToken
427
+ | SyntaxKind.MinusMinusToken;
428
+ export type AssignmentOperator = SyntaxKind.EqualsToken | CompoundAssignmentOperator;
429
+ export type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken;
430
+ export type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken;
431
+ export type MultiplicativeOperator = SyntaxKind.AsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken;
432
+ export type MultiplicativeOperatorOrHigher = ExponentiationOperator | MultiplicativeOperator;
433
+ export type AdditiveOperator = SyntaxKind.PlusToken | SyntaxKind.MinusToken;
434
+ export type AdditiveOperatorOrHigher = MultiplicativeOperatorOrHigher | AdditiveOperator;
435
+ export type ShiftOperator =
436
+ | SyntaxKind.LessThanLessThanToken
437
+ | SyntaxKind.GreaterThanGreaterThanToken
438
+ | SyntaxKind.GreaterThanGreaterThanGreaterThanToken;
439
+ export type ShiftOperatorOrHigher = AdditiveOperatorOrHigher | ShiftOperator;
440
+ export type RelationalOperator =
441
+ | SyntaxKind.LessThanToken
442
+ | SyntaxKind.LessThanEqualsToken
443
+ | SyntaxKind.GreaterThanToken
444
+ | SyntaxKind.GreaterThanEqualsToken
445
+ | SyntaxKind.InstanceOfKeyword
446
+ | SyntaxKind.InKeyword;
447
+ export type RelationalOperatorOrHigher = ShiftOperatorOrHigher | RelationalOperator;
448
+ export type EqualityOperator =
449
+ | SyntaxKind.EqualsEqualsToken
450
+ | SyntaxKind.EqualsEqualsEqualsToken
451
+ | SyntaxKind.ExclamationEqualsEqualsToken
452
+ | SyntaxKind.ExclamationEqualsToken;
453
+ export type EqualityOperatorOrHigher = RelationalOperatorOrHigher | EqualityOperator;
454
+ export type BitwiseOperator = SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken;
455
+ export type BitwiseOperatorOrHigher = EqualityOperatorOrHigher | BitwiseOperator;
456
+ export type LogicalOperator = SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken;
457
+ export type LogicalOperatorOrHigher = BitwiseOperatorOrHigher | LogicalOperator;
458
+ export type CompoundAssignmentOperator =
459
+ | SyntaxKind.PlusEqualsToken
460
+ | SyntaxKind.MinusEqualsToken
461
+ | SyntaxKind.AsteriskAsteriskEqualsToken
462
+ | SyntaxKind.AsteriskEqualsToken
463
+ | SyntaxKind.SlashEqualsToken
464
+ | SyntaxKind.PercentEqualsToken
465
+ | SyntaxKind.AmpersandEqualsToken
466
+ | SyntaxKind.BarEqualsToken
467
+ | SyntaxKind.CaretEqualsToken
468
+ | SyntaxKind.LessThanLessThanEqualsToken
469
+ | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken
470
+ | SyntaxKind.GreaterThanGreaterThanEqualsToken
471
+ | SyntaxKind.BarBarEqualsToken
472
+ | SyntaxKind.AmpersandAmpersandEqualsToken
473
+ | SyntaxKind.QuestionQuestionEqualsToken;
474
+ export type AssignmentOperatorOrHigher =
475
+ | SyntaxKind.QuestionQuestionToken
476
+ | LogicalOperatorOrHigher
477
+ | AssignmentOperator;
478
+ export type LogicalOrCoalescingAssignmentOperator =
479
+ | SyntaxKind.AmpersandAmpersandEqualsToken
480
+ | SyntaxKind.BarBarEqualsToken
481
+ | SyntaxKind.QuestionQuestionEqualsToken;
482
+
483
+ export interface NodeBase extends Node {
484
+ readonly flags: NodeFlags;
485
+ }
486
+ export interface StatementBase extends NodeBase {
487
+ readonly _statementBrand: any;
488
+ }
489
+ export interface IterationStatementBase extends StatementBase {
490
+ readonly statement: Statement;
491
+ }
492
+ export interface ExpressionBase extends NodeBase {
493
+ readonly _expressionBrand: any;
494
+ }
495
+ export interface UnaryExpressionBase extends ExpressionBase {
496
+ readonly _unaryExpressionBrand: any;
497
+ }
498
+ export interface UpdateExpressionBase extends UnaryExpressionBase {
499
+ readonly _updateExpressionBrand: any;
500
+ }
501
+ export interface LeftHandSideExpressionBase extends UpdateExpressionBase {
502
+ readonly _leftHandSideExpressionBrand: any;
503
+ }
504
+ export interface MemberExpressionBase extends LeftHandSideExpressionBase {
505
+ readonly _memberExpressionBrand: any;
506
+ }
507
+ export interface PrimaryExpressionBase extends MemberExpressionBase {
508
+ readonly _primaryExpressionBrand: any;
509
+ }
510
+ export interface TypeNodeBase extends NodeBase {
511
+ readonly _typeNodeBrand: any;
512
+ }
513
+ export interface NodeWithTypeArgumentsBase extends TypeNodeBase {
514
+ readonly typeArguments?: NodeList<TypeNode>;
515
+ }
516
+ export interface JSDocTypeBase extends TypeNodeBase {
517
+ readonly _jsDocTypeBrand: any;
518
+ }
519
+ export interface DeclarationBase extends Node {
520
+ readonly _declarationBrand: any;
521
+ }
522
+ export interface ModifiersBase extends Node {
523
+ readonly modifiers?: ModifierList<ModifierLike>;
524
+ readonly modifierFlags: ModifierFlags;
525
+ }
526
+ export interface FunctionLikeBase extends DeclarationBase {
527
+ readonly typeParameters?: NodeList<TypeParameterDeclaration>;
528
+ readonly parameters: NodeList<ParameterDeclaration>;
529
+ readonly type?: TypeNode;
530
+ readonly fullSignature?: TypeNode;
531
+ }
532
+ export interface BodyBase extends Node {
533
+ readonly asteriskToken?: AsteriskToken;
534
+ readonly body?: NodeBody;
535
+ }
536
+ export interface FunctionLikeWithBodyBase extends FunctionLikeBase, BodyBase {
537
+ readonly _functionLikeDeclarationBrand: any;
538
+ readonly body?: BlockOrExpression;
539
+ }
540
+ export interface ClassLikeBase extends DeclarationBase, ModifiersBase {
541
+ readonly name?: Identifier;
542
+ readonly typeParameters?: NodeList<TypeParameterDeclaration>;
543
+ readonly heritageClauses?: NodeList<HeritageClause>;
544
+ readonly members: NodeList<ClassElement>;
545
+ }
546
+ export interface LiteralLikeNodeBase extends Node {
547
+ readonly text: string;
548
+ readonly tokenFlags: TokenFlags;
549
+ }
550
+ export interface LiteralExpressionBase extends LiteralLikeNodeBase, PrimaryExpressionBase {
551
+ readonly _literalExpressionBrand: any;
552
+ }
553
+ export interface TemplateLiteralLikeNodeBase extends LiteralLikeNodeBase {
554
+ readonly rawText: string;
555
+ readonly templateFlags: TokenFlags;
556
+ }
557
+ export interface TypeElementBase extends Node {
558
+ readonly _typeElementBrand: any;
559
+ }
560
+ export interface ClassElementBase extends Node {
561
+ readonly _classElementBrand: any;
562
+ }
563
+ export interface NamedMemberBase extends DeclarationBase, ModifiersBase {
564
+ readonly name: PropertyName;
565
+ readonly postfixToken?: QuestionToken | ExclamationToken;
566
+ }
567
+ export interface ObjectLiteralElementBase extends Node {
568
+ readonly _objectLiteralBrand: any;
569
+ }
570
+ export interface UnionOrIntersectionTypeNodeBase extends TypeNodeBase {
571
+ readonly types: NodeList<TypeNode>;
572
+ }
573
+ export interface JSDocTagBase extends NodeBase {
574
+ readonly tagName: Identifier;
575
+ readonly comment?: NodeList<JSDocComment>;
576
+ }
577
+ export interface JSDocCommentBase extends NodeBase {
578
+ readonly text: string;
579
+ }
580
+
581
+ export interface Token<TKind extends TokenSyntaxKind = TokenSyntaxKind> extends NodeBase {
582
+ readonly kind: TKind;
583
+ }
584
+ export interface Identifier extends PrimaryExpressionBase {
585
+ readonly kind: SyntaxKind.Identifier;
586
+ readonly text: string;
587
+ }
588
+ export interface PrivateIdentifier extends PrimaryExpressionBase {
589
+ readonly kind: SyntaxKind.PrivateIdentifier;
590
+ readonly text: string;
591
+ }
592
+ export interface QualifiedName extends NodeBase {
593
+ readonly kind: SyntaxKind.QualifiedName;
594
+ readonly left: EntityName;
595
+ readonly right: Identifier;
596
+ }
597
+ export interface ComputedPropertyName extends NodeBase {
598
+ readonly kind: SyntaxKind.ComputedPropertyName;
599
+ readonly expression: Expression;
600
+ }
601
+ export interface Decorator extends NodeBase {
602
+ readonly kind: SyntaxKind.Decorator;
603
+ readonly expression: LeftHandSideExpression;
604
+ }
605
+ export interface EmptyStatement extends StatementBase {
606
+ readonly kind: SyntaxKind.EmptyStatement;
607
+ }
608
+ export interface IfStatement extends StatementBase {
609
+ readonly kind: SyntaxKind.IfStatement;
610
+ readonly expression: Expression;
611
+ readonly thenStatement: Statement;
612
+ readonly elseStatement?: Statement;
613
+ }
614
+ export interface DoStatement extends IterationStatementBase {
615
+ readonly kind: SyntaxKind.DoStatement;
616
+ readonly expression: Expression;
617
+ }
618
+ export interface WhileStatement extends IterationStatementBase {
619
+ readonly kind: SyntaxKind.WhileStatement;
620
+ readonly expression: Expression;
621
+ }
622
+ export interface ForStatement extends IterationStatementBase {
623
+ readonly kind: SyntaxKind.ForStatement;
624
+ readonly initializer?: ForInitializer;
625
+ readonly condition?: Expression;
626
+ readonly incrementor?: Expression;
627
+ }
628
+ export interface BreakStatement extends StatementBase {
629
+ readonly kind: SyntaxKind.BreakStatement;
630
+ readonly label?: Identifier;
631
+ }
632
+ export interface ContinueStatement extends StatementBase {
633
+ readonly kind: SyntaxKind.ContinueStatement;
634
+ readonly label?: Identifier;
635
+ }
636
+ export interface ReturnStatement extends StatementBase {
637
+ readonly kind: SyntaxKind.ReturnStatement;
638
+ readonly expression?: Expression;
639
+ }
640
+ export interface WithStatement extends StatementBase {
641
+ readonly kind: SyntaxKind.WithStatement;
642
+ readonly expression: Expression;
643
+ readonly statement: Statement;
644
+ }
645
+ export interface SwitchStatement extends StatementBase {
646
+ readonly kind: SyntaxKind.SwitchStatement;
647
+ readonly expression: Expression;
648
+ readonly caseBlock: CaseBlock;
649
+ }
650
+ export interface CaseBlock extends NodeBase {
651
+ readonly kind: SyntaxKind.CaseBlock;
652
+ readonly clauses: NodeList<CaseOrDefaultClause>;
653
+ }
654
+ export interface ThrowStatement extends StatementBase {
655
+ readonly kind: SyntaxKind.ThrowStatement;
656
+ readonly expression: Expression;
657
+ }
658
+ export interface TryStatement extends StatementBase {
659
+ readonly kind: SyntaxKind.TryStatement;
660
+ readonly tryBlock: Block;
661
+ readonly catchClause?: CatchClause;
662
+ readonly finallyBlock?: Block;
663
+ }
664
+ export interface CatchClause extends NodeBase {
665
+ readonly kind: SyntaxKind.CatchClause;
666
+ readonly variableDeclaration?: VariableDeclaration;
667
+ readonly block: Block;
668
+ }
669
+ export interface DebuggerStatement extends StatementBase {
670
+ readonly kind: SyntaxKind.DebuggerStatement;
671
+ }
672
+ export interface LabeledStatement extends StatementBase {
673
+ readonly kind: SyntaxKind.LabeledStatement;
674
+ readonly label: Identifier;
675
+ readonly statement: Statement;
676
+ }
677
+ export interface ExpressionStatement extends StatementBase {
678
+ readonly kind: SyntaxKind.ExpressionStatement;
679
+ readonly expression: Expression;
680
+ }
681
+ export interface Block extends StatementBase {
682
+ readonly kind: SyntaxKind.Block;
683
+ readonly statements: NodeList<Statement>;
684
+ readonly multiLine: boolean;
685
+ }
686
+ export interface VariableStatement extends StatementBase, ModifiersBase {
687
+ readonly kind: SyntaxKind.VariableStatement;
688
+ readonly declarationList: VariableDeclarationList;
689
+ }
690
+ export interface VariableDeclaration extends NodeBase, DeclarationBase {
691
+ readonly kind: SyntaxKind.VariableDeclaration;
692
+ readonly name: BindingName;
693
+ readonly exclamationToken?: ExclamationToken;
694
+ readonly type?: TypeNode;
695
+ readonly initializer?: Expression;
696
+ }
697
+ export interface VariableDeclarationList extends NodeBase {
698
+ readonly kind: SyntaxKind.VariableDeclarationList;
699
+ readonly declarations: NodeList<VariableDeclaration>;
700
+ }
701
+ export interface ParameterDeclaration extends NodeBase, DeclarationBase, ModifiersBase {
702
+ readonly kind: SyntaxKind.Parameter;
703
+ readonly dotDotDotToken?: DotDotDotToken;
704
+ readonly name: BindingName;
705
+ readonly questionToken?: QuestionToken;
706
+ readonly type?: TypeNode;
707
+ readonly initializer?: Expression;
708
+ }
709
+ export interface BindingElement extends NodeBase, DeclarationBase {
710
+ readonly kind: SyntaxKind.BindingElement;
711
+ readonly dotDotDotToken?: DotDotDotToken;
712
+ readonly propertyName?: PropertyName;
713
+ readonly name?: BindingName;
714
+ readonly initializer?: Expression;
715
+ }
716
+ export interface MissingDeclaration extends StatementBase, DeclarationBase, ModifiersBase {
717
+ readonly kind: SyntaxKind.MissingDeclaration;
718
+ }
719
+ export interface FunctionDeclaration extends DeclarationBase, StatementBase, ModifiersBase, FunctionLikeWithBodyBase {
720
+ readonly kind: SyntaxKind.FunctionDeclaration;
721
+ readonly name?: Identifier;
722
+ readonly body?: FunctionBody;
723
+ }
724
+ export interface ClassDeclaration extends DeclarationBase, StatementBase, ClassLikeBase {
725
+ readonly kind: SyntaxKind.ClassDeclaration;
726
+ }
727
+ export interface ClassExpression extends PrimaryExpressionBase, ClassLikeBase {
728
+ readonly kind: SyntaxKind.ClassExpression;
729
+ }
730
+ export interface HeritageClause extends NodeBase {
731
+ readonly kind: SyntaxKind.HeritageClause;
732
+ readonly token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword;
733
+ readonly types: NodeList<ExpressionWithTypeArguments>;
734
+ }
735
+ export interface InterfaceDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
736
+ readonly kind: SyntaxKind.InterfaceDeclaration;
737
+ readonly name: Identifier;
738
+ readonly typeParameters?: NodeList<TypeParameterDeclaration>;
739
+ readonly heritageClauses?: NodeList<HeritageClause>;
740
+ readonly members: NodeList<TypeElement>;
741
+ }
742
+ export interface TypeAliasDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
743
+ readonly kind: SyntaxKind.TypeAliasDeclaration;
744
+ readonly name: Identifier;
745
+ readonly typeParameters?: NodeList<TypeParameterDeclaration>;
746
+ readonly type: TypeNode;
747
+ }
748
+ export interface EnumMember extends NodeBase, NamedMemberBase {
749
+ readonly kind: SyntaxKind.EnumMember;
750
+ readonly initializer?: Expression;
751
+ }
752
+ export interface EnumDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
753
+ readonly kind: SyntaxKind.EnumDeclaration;
754
+ readonly name: Identifier;
755
+ readonly members: NodeList<EnumMember>;
756
+ }
757
+ export interface ModuleBlock extends StatementBase {
758
+ readonly kind: SyntaxKind.ModuleBlock;
759
+ readonly statements: NodeList<Statement>;
760
+ }
761
+ export interface NotEmittedStatement extends StatementBase {
762
+ readonly kind: SyntaxKind.NotEmittedStatement;
763
+ }
764
+ export interface NotEmittedTypeElement extends NodeBase, TypeElementBase {
765
+ readonly kind: SyntaxKind.NotEmittedTypeElement;
766
+ }
767
+ export interface ImportDeclaration extends StatementBase, ModifiersBase, DeclarationBase {
768
+ readonly kind: SyntaxKind.ImportDeclaration;
769
+ readonly importClause?: ImportClause;
770
+ readonly moduleSpecifier: Expression;
771
+ readonly attributes?: ImportAttributes;
772
+ }
773
+ export interface ExternalModuleReference extends NodeBase {
774
+ readonly kind: SyntaxKind.ExternalModuleReference;
775
+ readonly expression: Expression;
776
+ }
777
+ export interface NamespaceImport extends NodeBase, DeclarationBase {
778
+ readonly kind: SyntaxKind.NamespaceImport;
779
+ readonly name: Identifier;
780
+ }
781
+ export interface NamedImports extends NodeBase {
782
+ readonly kind: SyntaxKind.NamedImports;
783
+ readonly elements: NodeList<ImportSpecifier>;
784
+ }
785
+ export interface ExportAssignment extends DeclarationBase, StatementBase, ModifiersBase {
786
+ readonly kind: SyntaxKind.ExportAssignment;
787
+ readonly isExportEquals: boolean;
788
+ readonly type?: TypeNode;
789
+ readonly expression: Expression;
790
+ }
791
+ export interface NamespaceExportDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
792
+ readonly kind: SyntaxKind.NamespaceExportDeclaration;
793
+ readonly name: Identifier;
794
+ }
795
+ export interface NamespaceExport extends NodeBase, DeclarationBase {
796
+ readonly kind: SyntaxKind.NamespaceExport;
797
+ readonly name: ModuleExportName;
798
+ }
799
+ export interface NamedExports extends NodeBase {
800
+ readonly kind: SyntaxKind.NamedExports;
801
+ readonly elements: NodeList<ExportSpecifier>;
802
+ }
803
+ export interface ExportSpecifier extends NodeBase, DeclarationBase {
804
+ readonly kind: SyntaxKind.ExportSpecifier;
805
+ readonly isTypeOnly: boolean;
806
+ readonly propertyName?: ModuleExportName;
807
+ readonly name: ModuleExportName;
808
+ }
809
+ export interface CallSignatureDeclaration extends NodeBase, DeclarationBase, FunctionLikeBase, TypeElementBase {
810
+ readonly kind: SyntaxKind.CallSignature;
811
+ }
812
+ export interface ConstructSignatureDeclaration extends NodeBase, DeclarationBase, FunctionLikeBase, TypeElementBase {
813
+ readonly kind: SyntaxKind.ConstructSignature;
814
+ }
815
+ export interface ConstructorDeclaration
816
+ extends NodeBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase, ClassElementBase {
817
+ readonly kind: SyntaxKind.Constructor;
818
+ readonly body?: FunctionBody;
819
+ }
820
+ export interface GetAccessorDeclaration
821
+ extends
822
+ NamedMemberBase,
823
+ FunctionLikeWithBodyBase,
824
+ TypeElementBase,
825
+ ClassElementBase,
826
+ ObjectLiteralElementBase,
827
+ NodeBase {
828
+ readonly kind: SyntaxKind.GetAccessor;
829
+ readonly body?: FunctionBody;
830
+ }
831
+ export interface SetAccessorDeclaration
832
+ extends
833
+ NamedMemberBase,
834
+ FunctionLikeWithBodyBase,
835
+ TypeElementBase,
836
+ ClassElementBase,
837
+ ObjectLiteralElementBase,
838
+ NodeBase {
839
+ readonly kind: SyntaxKind.SetAccessor;
840
+ readonly body?: FunctionBody;
841
+ }
842
+ export interface IndexSignatureDeclaration
843
+ extends NodeBase, DeclarationBase, ModifiersBase, FunctionLikeBase, TypeElementBase, ClassElementBase {
844
+ readonly kind: SyntaxKind.IndexSignature;
845
+ readonly type?: TypeNode;
846
+ }
847
+ export interface MethodSignatureDeclaration extends NodeBase, NamedMemberBase, FunctionLikeBase, TypeElementBase {
848
+ readonly kind: SyntaxKind.MethodSignature;
849
+ }
850
+ export interface MethodDeclaration
851
+ extends NodeBase, NamedMemberBase, FunctionLikeWithBodyBase, ClassElementBase, ObjectLiteralElementBase {
852
+ readonly kind: SyntaxKind.MethodDeclaration;
853
+ readonly body?: FunctionBody;
854
+ }
855
+ export interface PropertySignatureDeclaration extends NodeBase, NamedMemberBase, TypeElementBase {
856
+ readonly kind: SyntaxKind.PropertySignature;
857
+ readonly type?: TypeNode;
858
+ readonly initializer?: Expression;
859
+ }
860
+ export interface PropertyDeclaration extends NodeBase, NamedMemberBase, ClassElementBase {
861
+ readonly kind: SyntaxKind.PropertyDeclaration;
862
+ readonly type?: TypeNode;
863
+ readonly initializer?: Expression;
864
+ }
865
+ export interface SemicolonClassElement extends NodeBase, DeclarationBase, ClassElementBase {
866
+ readonly kind: SyntaxKind.SemicolonClassElement;
867
+ }
868
+ export interface ClassStaticBlockDeclaration extends NodeBase, DeclarationBase, ModifiersBase, ClassElementBase {
869
+ readonly kind: SyntaxKind.ClassStaticBlockDeclaration;
870
+ readonly body: Block;
871
+ }
872
+ export interface OmittedExpression extends ExpressionBase {
873
+ readonly kind: SyntaxKind.OmittedExpression;
874
+ }
875
+ export interface KeywordExpression<
876
+ TKind extends KeywordExpressionSyntaxKind = KeywordExpressionSyntaxKind,
877
+ > extends ExpressionBase {
878
+ readonly kind: TKind;
879
+ }
880
+ export interface StringLiteral extends LiteralExpressionBase {
881
+ readonly kind: SyntaxKind.StringLiteral;
882
+ }
883
+ export interface NumericLiteral extends LiteralExpressionBase {
884
+ readonly kind: SyntaxKind.NumericLiteral;
885
+ }
886
+ export interface BigIntLiteral extends LiteralExpressionBase {
887
+ readonly kind: SyntaxKind.BigIntLiteral;
888
+ }
889
+ export interface RegularExpressionLiteral extends LiteralExpressionBase {
890
+ readonly kind: SyntaxKind.RegularExpressionLiteral;
891
+ }
892
+ export interface NoSubstitutionTemplateLiteral extends ExpressionBase, TemplateLiteralLikeNodeBase, DeclarationBase {
893
+ readonly kind: SyntaxKind.NoSubstitutionTemplateLiteral;
894
+ }
895
+ export interface BinaryExpression extends ExpressionBase, DeclarationBase, ModifiersBase {
896
+ readonly kind: SyntaxKind.BinaryExpression;
897
+ readonly left: Expression;
898
+ readonly type?: TypeNode;
899
+ readonly operatorToken: BinaryOperatorToken;
900
+ readonly right: Expression;
901
+ }
902
+ export interface PrefixUnaryExpression extends UpdateExpressionBase {
903
+ readonly kind: SyntaxKind.PrefixUnaryExpression;
904
+ readonly operator:
905
+ | SyntaxKind.PlusToken
906
+ | SyntaxKind.MinusToken
907
+ | SyntaxKind.TildeToken
908
+ | SyntaxKind.ExclamationToken
909
+ | SyntaxKind.PlusPlusToken
910
+ | SyntaxKind.MinusMinusToken;
911
+ readonly operand: Expression;
912
+ }
913
+ export interface PostfixUnaryExpression extends UpdateExpressionBase {
914
+ readonly kind: SyntaxKind.PostfixUnaryExpression;
915
+ readonly operand: Expression;
916
+ readonly operator: SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken;
917
+ }
918
+ export interface YieldExpression extends ExpressionBase {
919
+ readonly kind: SyntaxKind.YieldExpression;
920
+ readonly asteriskToken?: AsteriskToken;
921
+ readonly expression?: Expression;
922
+ }
923
+ export interface ArrowFunction extends ExpressionBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase {
924
+ readonly kind: SyntaxKind.ArrowFunction;
925
+ readonly equalsGreaterThanToken?: EqualsGreaterThanToken;
926
+ readonly body: ConciseBody;
927
+ }
928
+ export interface FunctionExpression
929
+ extends PrimaryExpressionBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase {
930
+ readonly kind: SyntaxKind.FunctionExpression;
931
+ readonly name?: Identifier;
932
+ readonly body: FunctionBody;
933
+ }
934
+ export interface AsExpression extends ExpressionBase {
935
+ readonly kind: SyntaxKind.AsExpression;
936
+ readonly expression: Expression;
937
+ readonly type: TypeNode;
938
+ }
939
+ export interface SatisfiesExpression extends ExpressionBase {
940
+ readonly kind: SyntaxKind.SatisfiesExpression;
941
+ readonly expression: Expression;
942
+ readonly type: TypeNode;
943
+ }
944
+ export interface ConditionalExpression extends ExpressionBase {
945
+ readonly kind: SyntaxKind.ConditionalExpression;
946
+ readonly condition: Expression;
947
+ readonly questionToken: QuestionToken;
948
+ readonly whenTrue: Expression;
949
+ readonly colonToken: ColonToken;
950
+ readonly whenFalse: Expression;
951
+ }
952
+ export interface PropertyAccessExpression extends MemberExpressionBase {
953
+ readonly kind: SyntaxKind.PropertyAccessExpression;
954
+ readonly expression: Expression;
955
+ readonly questionDotToken?: QuestionDotToken;
956
+ readonly name: MemberName;
957
+ }
958
+ export interface ElementAccessExpression extends MemberExpressionBase {
959
+ readonly kind: SyntaxKind.ElementAccessExpression;
960
+ readonly expression: Expression;
961
+ readonly questionDotToken?: QuestionDotToken;
962
+ readonly argumentExpression: Expression;
963
+ }
964
+ export interface CallExpression extends LeftHandSideExpressionBase, DeclarationBase {
965
+ readonly kind: SyntaxKind.CallExpression;
966
+ readonly expression: Expression;
967
+ readonly questionDotToken?: QuestionDotToken;
968
+ readonly typeArguments?: NodeList<TypeNode>;
969
+ readonly arguments: NodeList<Expression>;
970
+ }
971
+ export interface NewExpression extends PrimaryExpressionBase {
972
+ readonly kind: SyntaxKind.NewExpression;
973
+ readonly expression: Expression;
974
+ readonly typeArguments?: NodeList<TypeNode>;
975
+ readonly arguments?: NodeList<Expression>;
976
+ }
977
+ export interface MetaProperty extends PrimaryExpressionBase {
978
+ readonly kind: SyntaxKind.MetaProperty;
979
+ readonly keywordToken: SyntaxKind.ImportKeyword | SyntaxKind.NewKeyword;
980
+ readonly name: Identifier;
981
+ }
982
+ export interface NonNullExpression extends LeftHandSideExpressionBase {
983
+ readonly kind: SyntaxKind.NonNullExpression;
984
+ readonly expression: Expression;
985
+ }
986
+ export interface SpreadElement extends ExpressionBase {
987
+ readonly kind: SyntaxKind.SpreadElement;
988
+ readonly expression: Expression;
989
+ }
990
+ export interface TemplateExpression extends PrimaryExpressionBase {
991
+ readonly kind: SyntaxKind.TemplateExpression;
992
+ readonly head: TemplateHead;
993
+ readonly templateSpans: NodeList<TemplateSpan>;
994
+ }
995
+ export interface TemplateSpan extends NodeBase {
996
+ readonly kind: SyntaxKind.TemplateSpan;
997
+ readonly expression: Expression;
998
+ readonly literal: TemplateMiddleOrTail;
999
+ }
1000
+ export interface TaggedTemplateExpression extends MemberExpressionBase {
1001
+ readonly kind: SyntaxKind.TaggedTemplateExpression;
1002
+ readonly tag: Expression;
1003
+ readonly questionDotToken?: QuestionDotToken;
1004
+ readonly typeArguments?: NodeList<TypeNode>;
1005
+ readonly template: TemplateLiteral;
1006
+ }
1007
+ export interface ParenthesizedExpression extends PrimaryExpressionBase {
1008
+ readonly kind: SyntaxKind.ParenthesizedExpression;
1009
+ readonly expression: Expression;
1010
+ }
1011
+ export interface ArrayLiteralExpression extends PrimaryExpressionBase {
1012
+ readonly kind: SyntaxKind.ArrayLiteralExpression;
1013
+ readonly elements: NodeList<Expression>;
1014
+ readonly multiLine: boolean;
1015
+ }
1016
+ export interface ObjectLiteralExpression extends PrimaryExpressionBase, DeclarationBase {
1017
+ readonly kind: SyntaxKind.ObjectLiteralExpression;
1018
+ readonly properties: NodeList<ObjectLiteralElementLike>;
1019
+ readonly multiLine: boolean;
1020
+ }
1021
+ export interface SpreadAssignment extends NodeBase, DeclarationBase, ObjectLiteralElementBase {
1022
+ readonly kind: SyntaxKind.SpreadAssignment;
1023
+ readonly expression: Expression;
1024
+ }
1025
+ export interface PropertyAssignment extends NodeBase, NamedMemberBase, ObjectLiteralElementBase {
1026
+ readonly kind: SyntaxKind.PropertyAssignment;
1027
+ readonly type?: TypeNode;
1028
+ readonly initializer: Expression;
1029
+ }
1030
+ export interface ShorthandPropertyAssignment extends NodeBase, NamedMemberBase, ObjectLiteralElementBase {
1031
+ readonly kind: SyntaxKind.ShorthandPropertyAssignment;
1032
+ readonly type?: TypeNode;
1033
+ readonly equalsToken?: EqualsToken;
1034
+ readonly objectAssignmentInitializer?: Expression;
1035
+ }
1036
+ export interface DeleteExpression extends UnaryExpressionBase {
1037
+ readonly kind: SyntaxKind.DeleteExpression;
1038
+ readonly expression: Expression;
1039
+ }
1040
+ export interface TypeOfExpression extends UnaryExpressionBase {
1041
+ readonly kind: SyntaxKind.TypeOfExpression;
1042
+ readonly expression: Expression;
1043
+ }
1044
+ export interface VoidExpression extends UnaryExpressionBase {
1045
+ readonly kind: SyntaxKind.VoidExpression;
1046
+ readonly expression: Expression;
1047
+ }
1048
+ export interface AwaitExpression extends UnaryExpressionBase {
1049
+ readonly kind: SyntaxKind.AwaitExpression;
1050
+ readonly expression: Expression;
1051
+ }
1052
+ export interface TypeAssertion extends UnaryExpressionBase {
1053
+ readonly kind: SyntaxKind.TypeAssertionExpression;
1054
+ readonly type: TypeNode;
1055
+ readonly expression: Expression;
1056
+ }
1057
+ export interface KeywordTypeNode<TKind extends KeywordTypeSyntaxKind = KeywordTypeSyntaxKind> extends TypeNodeBase {
1058
+ readonly kind: TKind;
1059
+ }
1060
+ export interface UnionTypeNode extends TypeNodeBase, UnionOrIntersectionTypeNodeBase {
1061
+ readonly kind: SyntaxKind.UnionType;
1062
+ }
1063
+ export interface IntersectionTypeNode extends TypeNodeBase, UnionOrIntersectionTypeNodeBase {
1064
+ readonly kind: SyntaxKind.IntersectionType;
1065
+ }
1066
+ export interface ConditionalTypeNode extends TypeNodeBase {
1067
+ readonly kind: SyntaxKind.ConditionalType;
1068
+ readonly checkType: TypeNode;
1069
+ readonly extendsType: TypeNode;
1070
+ readonly trueType: TypeNode;
1071
+ readonly falseType: TypeNode;
1072
+ }
1073
+ export interface TypeOperatorNode extends TypeNodeBase {
1074
+ readonly kind: SyntaxKind.TypeOperator;
1075
+ readonly operator: SyntaxKind.KeyOfKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.UniqueKeyword;
1076
+ readonly type: TypeNode;
1077
+ }
1078
+ export interface InferTypeNode extends TypeNodeBase {
1079
+ readonly kind: SyntaxKind.InferType;
1080
+ readonly typeParameter: TypeParameterDeclaration;
1081
+ }
1082
+ export interface ArrayTypeNode extends TypeNodeBase {
1083
+ readonly kind: SyntaxKind.ArrayType;
1084
+ readonly elementType: TypeNode;
1085
+ }
1086
+ export interface IndexedAccessTypeNode extends TypeNodeBase {
1087
+ readonly kind: SyntaxKind.IndexedAccessType;
1088
+ readonly objectType: TypeNode;
1089
+ readonly indexType: TypeNode;
1090
+ }
1091
+ export interface TypeReferenceNode extends NodeWithTypeArgumentsBase {
1092
+ readonly kind: SyntaxKind.TypeReference;
1093
+ readonly typeName: EntityName;
1094
+ }
1095
+ export interface ExpressionWithTypeArguments extends MemberExpressionBase {
1096
+ readonly kind: SyntaxKind.ExpressionWithTypeArguments;
1097
+ readonly expression: Expression;
1098
+ readonly typeArguments?: NodeList<TypeNode>;
1099
+ }
1100
+ export interface LiteralTypeNode extends TypeNodeBase {
1101
+ readonly kind: SyntaxKind.LiteralType;
1102
+ readonly literal: Node;
1103
+ }
1104
+ export interface ThisTypeNode extends TypeNodeBase {
1105
+ readonly kind: SyntaxKind.ThisType;
1106
+ }
1107
+ export interface TypePredicateNode extends TypeNodeBase {
1108
+ readonly kind: SyntaxKind.TypePredicate;
1109
+ readonly assertsModifier?: AssertsKeyword;
1110
+ readonly parameterName: TypePredicateParameterName;
1111
+ readonly type?: TypeNode;
1112
+ }
1113
+ export interface ImportAttribute extends NodeBase {
1114
+ readonly kind: SyntaxKind.ImportAttribute;
1115
+ readonly name?: ImportAttributeName;
1116
+ readonly value: Expression;
1117
+ }
1118
+ export interface ImportAttributes extends NodeBase {
1119
+ readonly kind: SyntaxKind.ImportAttributes;
1120
+ readonly token: SyntaxKind.WithKeyword | SyntaxKind.AssertKeyword;
1121
+ readonly attributes: NodeList<ImportAttribute>;
1122
+ readonly multiLine: boolean;
1123
+ }
1124
+ export interface TypeQueryNode extends NodeWithTypeArgumentsBase {
1125
+ readonly kind: SyntaxKind.TypeQuery;
1126
+ readonly exprName: EntityName;
1127
+ }
1128
+ export interface MappedTypeNode extends TypeNodeBase, DeclarationBase {
1129
+ readonly kind: SyntaxKind.MappedType;
1130
+ readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken;
1131
+ readonly typeParameter: TypeParameterDeclaration;
1132
+ readonly nameType?: TypeNode;
1133
+ readonly questionToken?: QuestionToken | PlusToken | MinusToken;
1134
+ readonly type?: TypeNode;
1135
+ readonly members?: NodeList<TypeElement>;
1136
+ }
1137
+ export interface TypeLiteralNode extends TypeNodeBase, DeclarationBase {
1138
+ readonly kind: SyntaxKind.TypeLiteral;
1139
+ readonly members: NodeList<TypeElement>;
1140
+ }
1141
+ export interface TupleTypeNode extends TypeNodeBase {
1142
+ readonly kind: SyntaxKind.TupleType;
1143
+ readonly elements: NodeList<TypeNode>;
1144
+ }
1145
+ export interface NamedTupleMember extends TypeNodeBase, DeclarationBase {
1146
+ readonly kind: SyntaxKind.NamedTupleMember;
1147
+ readonly dotDotDotToken?: DotDotDotToken;
1148
+ readonly name: Identifier;
1149
+ readonly questionToken?: QuestionToken;
1150
+ readonly type: TypeNode;
1151
+ }
1152
+ export interface OptionalTypeNode extends TypeNodeBase {
1153
+ readonly kind: SyntaxKind.OptionalType;
1154
+ readonly type: TypeNode;
1155
+ }
1156
+ export interface RestTypeNode extends TypeNodeBase {
1157
+ readonly kind: SyntaxKind.RestType;
1158
+ readonly type: TypeNode;
1159
+ }
1160
+ export interface ParenthesizedTypeNode extends TypeNodeBase {
1161
+ readonly kind: SyntaxKind.ParenthesizedType;
1162
+ readonly type: TypeNode;
1163
+ }
1164
+ export interface FunctionTypeNode extends TypeNodeBase, ModifiersBase, FunctionLikeBase {
1165
+ readonly kind: SyntaxKind.FunctionType;
1166
+ }
1167
+ export interface ConstructorTypeNode extends TypeNodeBase, ModifiersBase, FunctionLikeBase {
1168
+ readonly kind: SyntaxKind.ConstructorType;
1169
+ }
1170
+ export interface TemplateHead extends NodeBase, TemplateLiteralLikeNodeBase {
1171
+ readonly kind: SyntaxKind.TemplateHead;
1172
+ }
1173
+ export interface TemplateMiddle extends NodeBase, TemplateLiteralLikeNodeBase {
1174
+ readonly kind: SyntaxKind.TemplateMiddle;
1175
+ }
1176
+ export interface TemplateTail extends NodeBase, TemplateLiteralLikeNodeBase {
1177
+ readonly kind: SyntaxKind.TemplateTail;
1178
+ }
1179
+ export interface TemplateLiteralTypeNode extends TypeNodeBase {
1180
+ readonly kind: SyntaxKind.TemplateLiteralType;
1181
+ readonly head: TemplateHead;
1182
+ readonly templateSpans: NodeList<TemplateLiteralTypeSpan>;
1183
+ }
1184
+ export interface TemplateLiteralTypeSpan extends TypeNodeBase {
1185
+ readonly kind: SyntaxKind.TemplateLiteralTypeSpan;
1186
+ readonly type: TypeNode;
1187
+ readonly literal: TemplateMiddleOrTail;
1188
+ }
1189
+ export interface SyntheticExpression extends ExpressionBase {
1190
+ readonly kind: SyntaxKind.SyntheticExpression;
1191
+ readonly type: any;
1192
+ readonly isSpread: boolean;
1193
+ readonly tupleNameSource?: Node;
1194
+ }
1195
+ export interface PartiallyEmittedExpression extends LeftHandSideExpressionBase {
1196
+ readonly kind: SyntaxKind.PartiallyEmittedExpression;
1197
+ readonly expression: Expression;
1198
+ }
1199
+ export interface JsxElement extends PrimaryExpressionBase {
1200
+ readonly kind: SyntaxKind.JsxElement;
1201
+ readonly openingElement: JsxOpeningElement;
1202
+ readonly children: NodeList<JsxChild>;
1203
+ readonly closingElement: JsxClosingElement;
1204
+ }
1205
+ export interface JsxAttributes extends PrimaryExpressionBase, DeclarationBase {
1206
+ readonly kind: SyntaxKind.JsxAttributes;
1207
+ readonly properties: NodeList<JsxAttributeLike>;
1208
+ }
1209
+ export interface JsxNamespacedName extends ExpressionBase {
1210
+ readonly kind: SyntaxKind.JsxNamespacedName;
1211
+ readonly namespace: Identifier;
1212
+ readonly name: Identifier;
1213
+ }
1214
+ export interface JsxOpeningElement extends ExpressionBase {
1215
+ readonly kind: SyntaxKind.JsxOpeningElement;
1216
+ readonly tagName: JsxTagNameExpression;
1217
+ readonly typeArguments?: NodeList<TypeNode>;
1218
+ readonly attributes: JsxAttributes;
1219
+ }
1220
+ export interface JsxSelfClosingElement extends PrimaryExpressionBase {
1221
+ readonly kind: SyntaxKind.JsxSelfClosingElement;
1222
+ readonly tagName: JsxTagNameExpression;
1223
+ readonly typeArguments?: NodeList<TypeNode>;
1224
+ readonly attributes: JsxAttributes;
1225
+ }
1226
+ export interface JsxFragment extends PrimaryExpressionBase {
1227
+ readonly kind: SyntaxKind.JsxFragment;
1228
+ readonly openingFragment: JsxOpeningFragment;
1229
+ readonly children: NodeList<JsxChild>;
1230
+ readonly closingFragment: JsxClosingFragment;
1231
+ }
1232
+ export interface JsxOpeningFragment extends ExpressionBase {
1233
+ readonly kind: SyntaxKind.JsxOpeningFragment;
1234
+ }
1235
+ export interface JsxClosingFragment extends ExpressionBase {
1236
+ readonly kind: SyntaxKind.JsxClosingFragment;
1237
+ }
1238
+ export interface JsxAttribute extends NodeBase, DeclarationBase {
1239
+ readonly kind: SyntaxKind.JsxAttribute;
1240
+ readonly name: JsxAttributeName;
1241
+ readonly initializer?: JsxAttributeValue;
1242
+ }
1243
+ export interface JsxSpreadAttribute extends ObjectLiteralElementBase, NodeBase {
1244
+ readonly kind: SyntaxKind.JsxSpreadAttribute;
1245
+ readonly expression: Expression;
1246
+ }
1247
+ export interface JsxClosingElement extends NodeBase {
1248
+ readonly kind: SyntaxKind.JsxClosingElement;
1249
+ readonly tagName: JsxTagNameExpression;
1250
+ }
1251
+ export interface JsxExpression extends ExpressionBase {
1252
+ readonly kind: SyntaxKind.JsxExpression;
1253
+ readonly dotDotDotToken?: DotDotDotToken;
1254
+ readonly expression?: Expression;
1255
+ }
1256
+ export interface JsxText extends ExpressionBase, LiteralLikeNodeBase {
1257
+ readonly kind: SyntaxKind.JsxText;
1258
+ readonly containsOnlyTriviaWhiteSpaces: boolean;
1259
+ }
1260
+ export interface SyntaxList extends NodeBase {
1261
+ readonly kind: SyntaxKind.SyntaxList;
1262
+ readonly children: readonly Node[];
1263
+ }
1264
+ export interface JSDoc extends NodeBase {
1265
+ readonly kind: SyntaxKind.JSDoc;
1266
+ readonly comment: NodeList<JSDocComment>;
1267
+ readonly tags?: NodeList<JSDocTag>;
1268
+ }
1269
+ export interface JSDocTypeExpression extends TypeNodeBase {
1270
+ readonly kind: SyntaxKind.JSDocTypeExpression;
1271
+ readonly type: TypeNode;
1272
+ }
1273
+ export interface JSDocNonNullableType extends JSDocTypeBase {
1274
+ readonly kind: SyntaxKind.JSDocNonNullableType;
1275
+ readonly type: TypeNode;
1276
+ }
1277
+ export interface JSDocNullableType extends JSDocTypeBase {
1278
+ readonly kind: SyntaxKind.JSDocNullableType;
1279
+ readonly type: TypeNode;
1280
+ }
1281
+ export interface JSDocAllType extends JSDocTypeBase {
1282
+ readonly kind: SyntaxKind.JSDocAllType;
1283
+ }
1284
+ export interface JSDocVariadicType extends JSDocTypeBase {
1285
+ readonly kind: SyntaxKind.JSDocVariadicType;
1286
+ readonly type: TypeNode;
1287
+ }
1288
+ export interface JSDocOptionalType extends JSDocTypeBase {
1289
+ readonly kind: SyntaxKind.JSDocOptionalType;
1290
+ readonly type: TypeNode;
1291
+ }
1292
+ export interface JSDocTypeTag extends JSDocTagBase {
1293
+ readonly kind: SyntaxKind.JSDocTypeTag;
1294
+ readonly typeExpression?: Node;
1295
+ }
1296
+ export interface JSDocUnknownTag extends JSDocTagBase {
1297
+ readonly kind: SyntaxKind.JSDocUnknownTag;
1298
+ }
1299
+ export interface JSDocTemplateTag extends JSDocTagBase {
1300
+ readonly kind: SyntaxKind.JSDocTemplateTag;
1301
+ readonly constraint?: Node;
1302
+ readonly typeParameters: NodeList<TypeParameterDeclaration>;
1303
+ }
1304
+ export interface JSDocReturnTag extends JSDocTagBase {
1305
+ readonly kind: SyntaxKind.JSDocReturnTag;
1306
+ readonly typeExpression?: TypeNode;
1307
+ }
1308
+ export interface JSDocPublicTag extends JSDocTagBase {
1309
+ readonly kind: SyntaxKind.JSDocPublicTag;
1310
+ }
1311
+ export interface JSDocPrivateTag extends JSDocTagBase {
1312
+ readonly kind: SyntaxKind.JSDocPrivateTag;
1313
+ }
1314
+ export interface JSDocProtectedTag extends JSDocTagBase {
1315
+ readonly kind: SyntaxKind.JSDocProtectedTag;
1316
+ }
1317
+ export interface JSDocReadonlyTag extends JSDocTagBase {
1318
+ readonly kind: SyntaxKind.JSDocReadonlyTag;
1319
+ }
1320
+ export interface JSDocOverrideTag extends JSDocTagBase {
1321
+ readonly kind: SyntaxKind.JSDocOverrideTag;
1322
+ }
1323
+ export interface JSDocDeprecatedTag extends JSDocTagBase {
1324
+ readonly kind: SyntaxKind.JSDocDeprecatedTag;
1325
+ }
1326
+ export interface JSDocSeeTag extends JSDocTagBase {
1327
+ readonly kind: SyntaxKind.JSDocSeeTag;
1328
+ readonly nameExpression?: TypeNode;
1329
+ }
1330
+ export interface JSDocImplementsTag extends JSDocTagBase {
1331
+ readonly kind: SyntaxKind.JSDocImplementsTag;
1332
+ readonly className: ExpressionWithTypeArguments;
1333
+ }
1334
+ export interface JSDocAugmentsTag extends JSDocTagBase {
1335
+ readonly kind: SyntaxKind.JSDocAugmentsTag;
1336
+ readonly className: ExpressionWithTypeArguments;
1337
+ }
1338
+ export interface JSDocSatisfiesTag extends JSDocTagBase {
1339
+ readonly kind: SyntaxKind.JSDocSatisfiesTag;
1340
+ readonly typeExpression: TypeNode;
1341
+ }
1342
+ export interface JSDocThrowsTag extends JSDocTagBase {
1343
+ readonly kind: SyntaxKind.JSDocThrowsTag;
1344
+ readonly typeExpression?: TypeNode;
1345
+ }
1346
+ export interface JSDocThisTag extends JSDocTagBase {
1347
+ readonly kind: SyntaxKind.JSDocThisTag;
1348
+ readonly typeExpression: TypeNode;
1349
+ }
1350
+ export interface JSDocImportTag extends JSDocTagBase {
1351
+ readonly kind: SyntaxKind.JSDocImportTag;
1352
+ readonly importClause?: ImportClause;
1353
+ readonly moduleSpecifier: Expression;
1354
+ readonly attributes?: ImportAttributes;
1355
+ }
1356
+ export interface JSDocCallbackTag extends JSDocTagBase {
1357
+ readonly kind: SyntaxKind.JSDocCallbackTag;
1358
+ readonly typeExpression: TypeNode;
1359
+ readonly name?: JSDocFullName;
1360
+ }
1361
+ export interface JSDocOverloadTag extends JSDocTagBase {
1362
+ readonly kind: SyntaxKind.JSDocOverloadTag;
1363
+ readonly typeExpression: TypeNode;
1364
+ }
1365
+ export interface JSDocTypedefTag extends JSDocTagBase {
1366
+ readonly kind: SyntaxKind.JSDocTypedefTag;
1367
+ readonly typeExpression?: Node;
1368
+ readonly name?: JSDocFullName;
1369
+ }
1370
+ export interface JSDocSignature extends JSDocTypeBase, FunctionLikeBase {
1371
+ readonly kind: SyntaxKind.JSDocSignature;
1372
+ }
1373
+ export interface JSDocNameReference extends TypeNodeBase {
1374
+ readonly kind: SyntaxKind.JSDocNameReference;
1375
+ readonly name?: EntityName;
1376
+ }
1377
+ export interface ModuleDeclaration extends DeclarationBase, StatementBase, ModifiersBase, BodyBase {
1378
+ readonly kind: SyntaxKind.ModuleDeclaration;
1379
+ readonly keyword: SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword;
1380
+ readonly name: ModuleName;
1381
+ readonly body?: ModuleBody;
1382
+ }
1383
+ export interface ImportEqualsDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
1384
+ readonly kind: SyntaxKind.ImportEqualsDeclaration;
1385
+ readonly isTypeOnly: boolean;
1386
+ readonly name: Identifier;
1387
+ readonly moduleReference: ModuleReference;
1388
+ }
1389
+ export interface ExportDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
1390
+ readonly kind: SyntaxKind.ExportDeclaration;
1391
+ readonly isTypeOnly: boolean;
1392
+ readonly exportClause?: NamedExportBindings;
1393
+ readonly moduleSpecifier?: Expression;
1394
+ readonly attributes?: ImportAttributes;
1395
+ }
1396
+ export interface ImportTypeNode extends NodeWithTypeArgumentsBase {
1397
+ readonly kind: SyntaxKind.ImportType;
1398
+ readonly isTypeOf: boolean;
1399
+ readonly argument: TypeNode;
1400
+ readonly attributes?: ImportAttributes;
1401
+ readonly qualifier?: EntityName;
1402
+ }
1403
+ export interface ImportClause extends NodeBase, DeclarationBase {
1404
+ readonly kind: SyntaxKind.ImportClause;
1405
+ readonly phaseModifier?: ImportPhaseModifierSyntaxKind;
1406
+ readonly name?: Identifier;
1407
+ readonly namedBindings?: NamedImportBindings;
1408
+ }
1409
+ export interface ImportSpecifier extends NodeBase, DeclarationBase {
1410
+ readonly kind: SyntaxKind.ImportSpecifier;
1411
+ readonly isTypeOnly: boolean;
1412
+ readonly propertyName?: ModuleExportName;
1413
+ readonly name: Identifier;
1414
+ }
1415
+ export interface JSDocText extends JSDocCommentBase {
1416
+ readonly kind: SyntaxKind.JSDocText;
1417
+ }
1418
+ export interface JSDocLink extends JSDocCommentBase {
1419
+ readonly kind: SyntaxKind.JSDocLink;
1420
+ readonly name?: EntityName;
1421
+ }
1422
+ export interface JSDocLinkPlain extends JSDocCommentBase {
1423
+ readonly kind: SyntaxKind.JSDocLinkPlain;
1424
+ readonly name?: EntityName;
1425
+ }
1426
+ export interface JSDocLinkCode extends JSDocCommentBase {
1427
+ readonly kind: SyntaxKind.JSDocLinkCode;
1428
+ readonly name?: EntityName;
1429
+ }
1430
+ export interface TypeParameterDeclaration extends NodeBase, DeclarationBase, ModifiersBase {
1431
+ readonly kind: SyntaxKind.TypeParameter;
1432
+ readonly name: Identifier;
1433
+ readonly constraint?: TypeNode;
1434
+ readonly expression?: Expression;
1435
+ readonly defaultType?: TypeNode;
1436
+ }
1437
+ export interface SyntheticReferenceExpression extends ExpressionBase {
1438
+ readonly kind: SyntaxKind.SyntheticReferenceExpression;
1439
+ readonly expression: Expression;
1440
+ readonly thisArg: Expression;
1441
+ }
1442
+ export interface JSDocTypeLiteral extends JSDocTypeBase, DeclarationBase {
1443
+ readonly kind: SyntaxKind.JSDocTypeLiteral;
1444
+ readonly jsdocPropertyTags?: readonly JSDocTag[];
1445
+ readonly isArrayType: boolean;
1446
+ }
1447
+
1448
+ export type Expression = ExpressionBase;
1449
+ export type Statement = StatementBase;
1450
+ export type TypeNode = TypeNodeBase;
1451
+ export type BlockOrExpression = Block | Expression;
1452
+ export type NodeBody = Block | Expression | ModuleBlock | ModuleDeclaration;
1453
+ export type AccessExpression = PropertyAccessExpression | ElementAccessExpression;
1454
+ export type DeclarationName =
1455
+ | Identifier
1456
+ | PrivateIdentifier
1457
+ | StringLiteral
1458
+ | NumericLiteral
1459
+ | BigIntLiteral
1460
+ | NoSubstitutionTemplateLiteral
1461
+ | ComputedPropertyName
1462
+ | BindingPattern
1463
+ | ElementAccessExpression;
1464
+ export type ModuleName = Identifier | StringLiteral;
1465
+ export type ModuleExportName = Identifier | StringLiteral;
1466
+ export type PropertyName =
1467
+ | Identifier
1468
+ | StringLiteral
1469
+ | NoSubstitutionTemplateLiteral
1470
+ | NumericLiteral
1471
+ | ComputedPropertyName
1472
+ | PrivateIdentifier
1473
+ | BigIntLiteral;
1474
+ export type ModuleBody = ModuleBlock | ModuleDeclaration;
1475
+ export type JSDocFullName = Identifier | ModuleDeclaration;
1476
+ export type ForInitializer = Expression | MissingDeclaration | VariableDeclarationList;
1477
+ export type ModuleReference = Identifier | QualifiedName | ExternalModuleReference;
1478
+ export type NamedImportBindings = NamespaceImport | NamedImports;
1479
+ export type NamedExportBindings = NamespaceExport | NamedExports;
1480
+ export type MemberName = Identifier | PrivateIdentifier;
1481
+ export type EntityName = Identifier | QualifiedName;
1482
+ export type BindingName = Identifier | BindingPattern;
1483
+ export type ModifierLike = Modifier | Decorator;
1484
+ export type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;
1485
+ export type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute;
1486
+ export type JsxAttributeName = Identifier | JsxNamespacedName;
1487
+ export type JsxAttributeValue = StringLiteral | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;
1488
+ export type JsxTagNameExpression = Identifier | ThisExpression | JsxTagNamePropertyAccess | JsxNamespacedName;
1489
+ export type ClassLikeDeclaration = ClassDeclaration | ClassExpression;
1490
+ export type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration;
1491
+ export type LiteralLikeNode =
1492
+ | StringLiteral
1493
+ | NumericLiteral
1494
+ | BigIntLiteral
1495
+ | RegularExpressionLiteral
1496
+ | TemplateLiteralLikeNode
1497
+ | JsxText;
1498
+ export type LiteralExpression =
1499
+ | StringLiteral
1500
+ | NumericLiteral
1501
+ | BigIntLiteral
1502
+ | RegularExpressionLiteral
1503
+ | NoSubstitutionTemplateLiteral;
1504
+ export type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode;
1505
+ export type TemplateLiteralLikeNode = TemplateHead | TemplateMiddle | TemplateTail;
1506
+ export type TemplateMiddleOrTail = TemplateMiddle | TemplateTail;
1507
+ export type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral;
1508
+ export type TypePredicateParameterName = Identifier | ThisTypeNode;
1509
+ export type ImportAttributeName = Identifier | StringLiteral;
1510
+ export type LeftHandSideExpression = LeftHandSideExpressionBase;
1511
+ export type JSDocComment = JSDocText | JSDocLink | JSDocLinkCode | JSDocLinkPlain;
1512
+ export type SignatureDeclaration =
1513
+ | CallSignatureDeclaration
1514
+ | ConstructSignatureDeclaration
1515
+ | MethodSignatureDeclaration
1516
+ | IndexSignatureDeclaration
1517
+ | FunctionTypeNode
1518
+ | ConstructorTypeNode
1519
+ | FunctionDeclaration
1520
+ | MethodDeclaration
1521
+ | ConstructorDeclaration
1522
+ | AccessorDeclaration
1523
+ | FunctionExpression
1524
+ | ArrowFunction;
1525
+ export type StringLiteralLikeNode = StringLiteral | NoSubstitutionTemplateLiteral;
1526
+ export type NumericOrStringLikeLiteral = StringLiteralLikeNode | NumericLiteral;
1527
+ export type ObjectLiteralLikeNode = ObjectLiteralExpression | ObjectBindingPattern;
1528
+ export type ObjectTypeDeclaration = ClassLikeDeclaration | InterfaceDeclaration | TypeLiteralNode;
1529
+ export type JsxOpeningLikeElement = JsxOpeningElement | JsxSelfClosingElement;
1530
+ export type NamedImportsOrExports = NamedImports | NamedExports;
1531
+ export type BreakOrContinueStatement = BreakStatement | ContinueStatement;
1532
+ export type CallLikeExpression =
1533
+ | CallExpression
1534
+ | NewExpression
1535
+ | TaggedTemplateExpression
1536
+ | Decorator
1537
+ | JsxOpeningLikeElement
1538
+ | BinaryExpression;
1539
+ export type FunctionLikeDeclaration =
1540
+ | FunctionDeclaration
1541
+ | MethodDeclaration
1542
+ | GetAccessorDeclaration
1543
+ | SetAccessorDeclaration
1544
+ | ConstructorDeclaration
1545
+ | FunctionExpression
1546
+ | ArrowFunction;
1547
+ export type VariableOrParameterDeclaration = VariableDeclaration | ParameterDeclaration;
1548
+ export type VariableOrPropertyDeclaration = VariableDeclaration | PropertyDeclaration;
1549
+ export type CallOrNewExpression = CallExpression | NewExpression;
1550
+ export type ImportClauseOrBindingPattern = ImportClause | BindingPattern;
1551
+ export type AnyImportSyntax = ImportDeclaration | ImportEqualsDeclaration;
1552
+ export type Declaration = DeclarationBase;
1553
+ export type ClassElement = ClassElementBase;
1554
+ export type TypeElement = TypeElementBase;
1555
+ export type ObjectLiteralElement = ObjectLiteralElementBase;
1556
+ export type JSDocTag = JSDocTagBase;
1557
+ export type ArrayBindingElement = BindingElement | OmittedExpression;
1558
+ export type AssertionExpression = TypeAssertion | AsExpression;
1559
+ export type BooleanLiteral = TrueLiteral | FalseLiteral;
1560
+ export type ConciseBody = Block | Expression;
1561
+ export type DestructuringAssignment = ObjectDestructuringAssignment | ArrayDestructuringAssignment;
1562
+ export type LiteralToken =
1563
+ | NumericLiteral
1564
+ | BigIntLiteral
1565
+ | StringLiteral
1566
+ | JsxText
1567
+ | RegularExpressionLiteral
1568
+ | NoSubstitutionTemplateLiteral;
1569
+ export type Modifier =
1570
+ | AbstractKeyword
1571
+ | AccessorKeyword
1572
+ | AsyncKeyword
1573
+ | ConstKeyword
1574
+ | DeclareKeyword
1575
+ | DefaultKeyword
1576
+ | ExportKeyword
1577
+ | InKeyword
1578
+ | PrivateKeyword
1579
+ | ProtectedKeyword
1580
+ | PublicKeyword
1581
+ | ReadonlyKeyword
1582
+ | OutKeyword
1583
+ | OverrideKeyword
1584
+ | StaticKeyword;
1585
+ export type ObjectLiteralElementLike =
1586
+ | PropertyAssignment
1587
+ | ShorthandPropertyAssignment
1588
+ | SpreadAssignment
1589
+ | MethodDeclaration
1590
+ | GetAccessorDeclaration
1591
+ | SetAccessorDeclaration;
1592
+ export type PropertyNameLiteral = Identifier | StringLiteral | NumericLiteral;
1593
+ export type PseudoLiteralToken = TemplateHead | TemplateMiddle | TemplateTail;
1594
+ export type TemplateLiteralToken = NoSubstitutionTemplateLiteral | PseudoLiteralToken;
1595
+ export type ArrayDestructuringAssignment = BinaryExpression;
1596
+ export type ObjectDestructuringAssignment = BinaryExpression;
1597
+ export type FunctionBody = Block;
1598
+ export type IncrementExpression = UpdateExpressionBase;
1599
+
1600
+ export interface ForInStatement extends StatementBase {
1601
+ readonly kind: SyntaxKind.ForInStatement;
1602
+ readonly awaitModifier?: AwaitKeyword;
1603
+ readonly initializer: ForInitializer;
1604
+ readonly expression: Expression;
1605
+ readonly statement: Statement;
1606
+ }
1607
+ export interface ForOfStatement extends StatementBase {
1608
+ readonly kind: SyntaxKind.ForOfStatement;
1609
+ readonly awaitModifier?: AwaitKeyword;
1610
+ readonly initializer: ForInitializer;
1611
+ readonly expression: Expression;
1612
+ readonly statement: Statement;
1613
+ }
1614
+ export interface CaseClause extends NodeBase {
1615
+ readonly kind: SyntaxKind.CaseClause;
1616
+ readonly expression?: Expression;
1617
+ readonly statements: NodeList<Statement>;
1618
+ }
1619
+ export interface DefaultClause extends NodeBase {
1620
+ readonly kind: SyntaxKind.DefaultClause;
1621
+ readonly expression?: Expression;
1622
+ readonly statements: NodeList<Statement>;
1623
+ }
1624
+ export interface ObjectBindingPattern extends NodeBase {
1625
+ readonly kind: SyntaxKind.ObjectBindingPattern;
1626
+ readonly elements: NodeList<BindingElement>;
1627
+ }
1628
+ export interface ArrayBindingPattern extends NodeBase {
1629
+ readonly kind: SyntaxKind.ArrayBindingPattern;
1630
+ readonly elements: NodeList<BindingElement>;
1631
+ }
1632
+ export interface JSDocParameterTag extends JSDocTagBase {
1633
+ readonly kind: SyntaxKind.JSDocParameterTag;
1634
+ readonly name: EntityName;
1635
+ readonly isBracketed: boolean;
1636
+ readonly typeExpression?: TypeNode;
1637
+ readonly isNameFirst: boolean;
1638
+ }
1639
+ export interface JSDocPropertyTag extends JSDocTagBase {
1640
+ readonly kind: SyntaxKind.JSDocPropertyTag;
1641
+ readonly name: EntityName;
1642
+ readonly isBracketed: boolean;
1643
+ readonly typeExpression?: TypeNode;
1644
+ readonly isNameFirst: boolean;
1645
+ }
1646
+ export type ForInOrOfStatement = ForInStatement | ForOfStatement;
1647
+ export type CaseOrDefaultClause = CaseClause | DefaultClause;
1648
+ export type BindingPattern = ObjectBindingPattern | ArrayBindingPattern;
1649
+ export type JSDocParameterOrPropertyTag = JSDocParameterTag | JSDocPropertyTag;
1650
+ export type EndOfFile = Token<SyntaxKind.EndOfFile>;
1651
+ export type DotToken = Token<SyntaxKind.DotToken>;
1652
+ export type DotDotDotToken = Token<SyntaxKind.DotDotDotToken>;
1653
+ export type QuestionToken = Token<SyntaxKind.QuestionToken>;
1654
+ export type ExclamationToken = Token<SyntaxKind.ExclamationToken>;
1655
+ export type ColonToken = Token<SyntaxKind.ColonToken>;
1656
+ export type EqualsToken = Token<SyntaxKind.EqualsToken>;
1657
+ export type AsteriskToken = Token<SyntaxKind.AsteriskToken>;
1658
+ export type EqualsGreaterThanToken = Token<SyntaxKind.EqualsGreaterThanToken>;
1659
+ export type PlusToken = Token<SyntaxKind.PlusToken>;
1660
+ export type MinusToken = Token<SyntaxKind.MinusToken>;
1661
+ export type QuestionDotToken = Token<SyntaxKind.QuestionDotToken>;
1662
+ export type AssertsKeyword = Token<SyntaxKind.AssertsKeyword>;
1663
+ export type AssertKeyword = Token<SyntaxKind.AssertKeyword>;
1664
+ export type AwaitKeyword = Token<SyntaxKind.AwaitKeyword>;
1665
+ export type CaseKeyword = Token<SyntaxKind.CaseKeyword>;
1666
+ export type AbstractKeyword = Token<SyntaxKind.AbstractKeyword>;
1667
+ export type AccessorKeyword = Token<SyntaxKind.AccessorKeyword>;
1668
+ export type AsyncKeyword = Token<SyntaxKind.AsyncKeyword>;
1669
+ export type ConstKeyword = Token<SyntaxKind.ConstKeyword>;
1670
+ export type DeclareKeyword = Token<SyntaxKind.DeclareKeyword>;
1671
+ export type DefaultKeyword = Token<SyntaxKind.DefaultKeyword>;
1672
+ export type ExportKeyword = Token<SyntaxKind.ExportKeyword>;
1673
+ export type InKeyword = Token<SyntaxKind.InKeyword>;
1674
+ export type PrivateKeyword = Token<SyntaxKind.PrivateKeyword>;
1675
+ export type ProtectedKeyword = Token<SyntaxKind.ProtectedKeyword>;
1676
+ export type PublicKeyword = Token<SyntaxKind.PublicKeyword>;
1677
+ export type ReadonlyKeyword = Token<SyntaxKind.ReadonlyKeyword>;
1678
+ export type OutKeyword = Token<SyntaxKind.OutKeyword>;
1679
+ export type OverrideKeyword = Token<SyntaxKind.OverrideKeyword>;
1680
+ export type StaticKeyword = Token<SyntaxKind.StaticKeyword>;
1681
+ export type BinaryOperatorToken = Token<BinaryOperator>;
1682
+ export type AssignmentOperatorToken = Token<AssignmentOperator>;
1683
+ export type NullLiteral = KeywordExpression<SyntaxKind.NullKeyword>;
1684
+ export type TrueLiteral = KeywordExpression<SyntaxKind.TrueKeyword>;
1685
+ export type FalseLiteral = KeywordExpression<SyntaxKind.FalseKeyword>;
1686
+ export type ThisExpression = KeywordExpression<SyntaxKind.ThisKeyword>;
1687
+ export type SuperExpression = KeywordExpression<SyntaxKind.SuperKeyword>;
1688
+ export type ImportExpression = KeywordExpression<SyntaxKind.ImportKeyword>;
1689
+ export type StatementList = NodeList<Statement>;
1690
+ export type CaseClausesList = NodeList<CaseOrDefaultClause>;
1691
+ export type VariableDeclarationNodeList = NodeList<VariableDeclaration>;
1692
+ export type BindingElementList = NodeList<BindingElement>;
1693
+ export type TypeParameterList = NodeList<TypeParameterDeclaration>;
1694
+ export type ParameterList = NodeList<ParameterDeclaration>;
1695
+ export type HeritageClauseList = NodeList<HeritageClause>;
1696
+ export type ClassElementList = NodeList<ClassElement>;
1697
+ export type TypeElementList = NodeList<TypeElement>;
1698
+ export type ExpressionWithTypeArgumentsList = NodeList<ExpressionWithTypeArguments>;
1699
+ export type EnumMemberList = NodeList<EnumMember>;
1700
+ export type ImportSpecifierList = NodeList<ImportSpecifier>;
1701
+ export type ExportSpecifierList = NodeList<ExportSpecifier>;
1702
+ export type TypeArgumentList = NodeList<TypeNode>;
1703
+ export type ArgumentList = NodeList<Expression>;
1704
+ export type TemplateSpanList = NodeList<TemplateSpan>;
1705
+ export type ElementList = NodeList<Expression>;
1706
+ export type PropertyDefinitionList = NodeList<ObjectLiteralElement>;
1707
+ export type TypeList = NodeList<TypeNode>;
1708
+ export type ImportAttributeList = NodeList<ImportAttribute>;
1709
+ export type TemplateLiteralTypeSpanList = NodeList<TemplateLiteralTypeSpan>;
1710
+ export type JsxChildList = NodeList<JsxChild>;
1711
+ export type JsxAttributeList = NodeList<JsxAttributeLike>;