UNPKG

160 kBTypeScriptView Raw
1// NOTE: This file is autogenerated. Do not modify.
2// See packages/babel-types/scripts/generators/typescript.js for script used.
3
4interface BaseComment {
5 value: string;
6 start: number;
7 end: number;
8 loc: SourceLocation;
9 type: "CommentBlock" | "CommentLine";
10}
11
12export interface CommentBlock extends BaseComment {
13 type: "CommentBlock";
14}
15
16export interface CommentLine extends BaseComment {
17 type: "CommentLine";
18}
19
20export type Comment = CommentBlock | CommentLine;
21
22export interface SourceLocation {
23 start: {
24 line: number;
25 column: number;
26 };
27
28 end: {
29 line: number;
30 column: number;
31 };
32}
33
34interface BaseNode {
35 leadingComments: ReadonlyArray<Comment> | null;
36 innerComments: ReadonlyArray<Comment> | null;
37 trailingComments: ReadonlyArray<Comment> | null;
38 start: number | null;
39 end: number | null;
40 loc: SourceLocation | null;
41 type: Node["type"];
42}
43
44export type Node = AnyTypeAnnotation | ArgumentPlaceholder | ArrayExpression | ArrayPattern | ArrayTypeAnnotation | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | Binary | BinaryExpression | BindExpression | Block | BlockParent | BlockStatement | BooleanLiteral | BooleanLiteralTypeAnnotation | BooleanTypeAnnotation | BreakStatement | CallExpression | CatchClause | Class | ClassBody | ClassDeclaration | ClassExpression | ClassImplements | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | CompletionStatement | Conditional | ConditionalExpression | ContinueStatement | DebuggerStatement | Declaration | DeclareClass | DeclareExportAllDeclaration | DeclareExportDeclaration | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareOpaqueType | DeclareTypeAlias | DeclareVariable | DeclaredPredicate | Decorator | Directive | DirectiveLiteral | DoExpression | DoWhileStatement | EmptyStatement | EmptyTypeAnnotation | ExistsTypeAnnotation | ExportAllDeclaration | ExportDeclaration | ExportDefaultDeclaration | ExportDefaultSpecifier | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportSpecifier | Expression | ExpressionStatement | ExpressionWrapper | File | Flow | FlowBaseAnnotation | FlowDeclaration | FlowPredicate | FlowType | For | ForInStatement | ForOfStatement | ForStatement | ForXStatement | Function | FunctionDeclaration | FunctionExpression | FunctionParent | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | Identifier | IfStatement | Immutable | Import | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | InferredPredicate | InterfaceDeclaration | InterfaceExtends | InterfaceTypeAnnotation | InterpreterDirective | IntersectionTypeAnnotation | JSX | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LVal | LabeledStatement | Literal | LogicalExpression | Loop | MemberExpression | MetaProperty | Method | MixedTypeAnnotation | ModuleDeclaration | ModuleSpecifier | NewExpression | Noop | NullLiteral | NullLiteralTypeAnnotation | NullableTypeAnnotation | NumberLiteral | NumberLiteralTypeAnnotation | NumberTypeAnnotation | NumericLiteral | ObjectExpression | ObjectMember | ObjectMethod | ObjectPattern | ObjectProperty | ObjectTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | Pattern | PatternLike | PipelineBareFunction | PipelinePrimaryTopicReference | PipelineTopicExpression | Placeholder | Private | PrivateName | Program | Property | Pureish | QualifiedTypeIdentifier | RegExpLiteral | RegexLiteral | RestElement | RestProperty | ReturnStatement | Scopable | SequenceExpression | SpreadElement | SpreadProperty | Statement | StringLiteral | StringLiteralTypeAnnotation | StringTypeAnnotation | Super | SwitchCase | SwitchStatement | TSAnyKeyword | TSArrayType | TSAsExpression | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSConditionalType | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSEntityName | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExpressionWithTypeArguments | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexSignature | TSIndexedAccessType | TSInferType | TSInterfaceBody | TSInterfaceDeclaration | TSIntersectionType | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPropertySignature | TSQualifiedName | TSRestType | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeElement | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | TaggedTemplateExpression | TemplateElement | TemplateLiteral | Terminatorless | ThisExpression | ThisTypeAnnotation | ThrowStatement | TryStatement | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | TypeofTypeAnnotation | UnaryExpression | UnaryLike | UnionTypeAnnotation | UpdateExpression | UserWhitespacable | V8IntrinsicIdentifier | VariableDeclaration | VariableDeclarator | Variance | VoidTypeAnnotation | While | WhileStatement | WithStatement | YieldExpression;
45
46export interface ArrayExpression extends BaseNode {
47 type: "ArrayExpression";
48 elements: Array<null | Expression | SpreadElement>;
49}
50
51export interface AssignmentExpression extends BaseNode {
52 type: "AssignmentExpression";
53 operator: string;
54 left: LVal;
55 right: Expression;
56}
57
58export interface BinaryExpression extends BaseNode {
59 type: "BinaryExpression";
60 operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=";
61 left: Expression;
62 right: Expression;
63}
64
65export interface InterpreterDirective extends BaseNode {
66 type: "InterpreterDirective";
67 value: string;
68}
69
70export interface Directive extends BaseNode {
71 type: "Directive";
72 value: DirectiveLiteral;
73}
74
75export interface DirectiveLiteral extends BaseNode {
76 type: "DirectiveLiteral";
77 value: string;
78}
79
80export interface BlockStatement extends BaseNode {
81 type: "BlockStatement";
82 body: Array<Statement>;
83 directives: Array<Directive>;
84}
85
86export interface BreakStatement extends BaseNode {
87 type: "BreakStatement";
88 label: Identifier | null;
89}
90
91export interface CallExpression extends BaseNode {
92 type: "CallExpression";
93 callee: Expression | V8IntrinsicIdentifier;
94 arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>;
95 optional: true | false | null;
96 typeArguments: TypeParameterInstantiation | null;
97 typeParameters: TSTypeParameterInstantiation | null;
98}
99
100export interface CatchClause extends BaseNode {
101 type: "CatchClause";
102 param: Identifier | null;
103 body: BlockStatement;
104}
105
106export interface ConditionalExpression extends BaseNode {
107 type: "ConditionalExpression";
108 test: Expression;
109 consequent: Expression;
110 alternate: Expression;
111}
112
113export interface ContinueStatement extends BaseNode {
114 type: "ContinueStatement";
115 label: Identifier | null;
116}
117
118export interface DebuggerStatement extends BaseNode {
119 type: "DebuggerStatement";
120}
121
122export interface DoWhileStatement extends BaseNode {
123 type: "DoWhileStatement";
124 test: Expression;
125 body: Statement;
126}
127
128export interface EmptyStatement extends BaseNode {
129 type: "EmptyStatement";
130}
131
132export interface ExpressionStatement extends BaseNode {
133 type: "ExpressionStatement";
134 expression: Expression;
135}
136
137export interface File extends BaseNode {
138 type: "File";
139 program: Program;
140 comments: any;
141 tokens: any;
142}
143
144export interface ForInStatement extends BaseNode {
145 type: "ForInStatement";
146 left: VariableDeclaration | LVal;
147 right: Expression;
148 body: Statement;
149}
150
151export interface ForStatement extends BaseNode {
152 type: "ForStatement";
153 init: VariableDeclaration | Expression | null;
154 test: Expression | null;
155 update: Expression | null;
156 body: Statement;
157}
158
159export interface FunctionDeclaration extends BaseNode {
160 type: "FunctionDeclaration";
161 id: Identifier | null;
162 params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
163 body: BlockStatement;
164 generator: boolean;
165 async: boolean;
166 declare: boolean | null;
167 returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
168 typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
169}
170
171export interface FunctionExpression extends BaseNode {
172 type: "FunctionExpression";
173 id: Identifier | null;
174 params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
175 body: BlockStatement;
176 generator: boolean;
177 async: boolean;
178 returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
179 typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
180}
181
182export interface Identifier extends BaseNode {
183 type: "Identifier";
184 name: string;
185 decorators: Array<Decorator> | null;
186 optional: boolean | null;
187 typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
188}
189
190export interface IfStatement extends BaseNode {
191 type: "IfStatement";
192 test: Expression;
193 consequent: Statement;
194 alternate: Statement | null;
195}
196
197export interface LabeledStatement extends BaseNode {
198 type: "LabeledStatement";
199 label: Identifier;
200 body: Statement;
201}
202
203export interface StringLiteral extends BaseNode {
204 type: "StringLiteral";
205 value: string;
206}
207
208export interface NumericLiteral extends BaseNode {
209 type: "NumericLiteral";
210 value: number;
211}
212
213export interface NullLiteral extends BaseNode {
214 type: "NullLiteral";
215}
216
217export interface BooleanLiteral extends BaseNode {
218 type: "BooleanLiteral";
219 value: boolean;
220}
221
222export interface RegExpLiteral extends BaseNode {
223 type: "RegExpLiteral";
224 pattern: string;
225 flags: string;
226}
227
228export interface LogicalExpression extends BaseNode {
229 type: "LogicalExpression";
230 operator: "||" | "&&" | "??";
231 left: Expression;
232 right: Expression;
233}
234
235export interface MemberExpression extends BaseNode {
236 type: "MemberExpression";
237 object: Expression;
238 property: any;
239 computed: boolean;
240 optional: true | false | null;
241}
242
243export interface NewExpression extends BaseNode {
244 type: "NewExpression";
245 callee: Expression | V8IntrinsicIdentifier;
246 arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>;
247 optional: true | false | null;
248 typeArguments: TypeParameterInstantiation | null;
249 typeParameters: TSTypeParameterInstantiation | null;
250}
251
252export interface Program extends BaseNode {
253 type: "Program";
254 body: Array<Statement>;
255 directives: Array<Directive>;
256 sourceType: "script" | "module";
257 interpreter: InterpreterDirective | null;
258 sourceFile: string | null;
259}
260
261export interface ObjectExpression extends BaseNode {
262 type: "ObjectExpression";
263 properties: Array<ObjectMethod | ObjectProperty | SpreadElement>;
264}
265
266export interface ObjectMethod extends BaseNode {
267 type: "ObjectMethod";
268 kind: "method" | "get" | "set";
269 key: any;
270 params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
271 body: BlockStatement;
272 computed: boolean;
273 async: boolean;
274 decorators: Array<Decorator> | null;
275 generator: boolean;
276 returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
277 typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
278}
279
280export interface ObjectProperty extends BaseNode {
281 type: "ObjectProperty";
282 key: any;
283 value: Expression | PatternLike;
284 computed: boolean;
285 shorthand: boolean;
286 decorators: Array<Decorator> | null;
287}
288
289export interface RestElement extends BaseNode {
290 type: "RestElement";
291 argument: LVal;
292 decorators: Array<Decorator> | null;
293 typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
294}
295
296export interface ReturnStatement extends BaseNode {
297 type: "ReturnStatement";
298 argument: Expression | null;
299}
300
301export interface SequenceExpression extends BaseNode {
302 type: "SequenceExpression";
303 expressions: Array<Expression>;
304}
305
306export interface ParenthesizedExpression extends BaseNode {
307 type: "ParenthesizedExpression";
308 expression: Expression;
309}
310
311export interface SwitchCase extends BaseNode {
312 type: "SwitchCase";
313 test: Expression | null;
314 consequent: Array<Statement>;
315}
316
317export interface SwitchStatement extends BaseNode {
318 type: "SwitchStatement";
319 discriminant: Expression;
320 cases: Array<SwitchCase>;
321}
322
323export interface ThisExpression extends BaseNode {
324 type: "ThisExpression";
325}
326
327export interface ThrowStatement extends BaseNode {
328 type: "ThrowStatement";
329 argument: Expression;
330}
331
332export interface TryStatement extends BaseNode {
333 type: "TryStatement";
334 block: BlockStatement;
335 handler: CatchClause | null;
336 finalizer: BlockStatement | null;
337}
338
339export interface UnaryExpression extends BaseNode {
340 type: "UnaryExpression";
341 operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof";
342 argument: Expression;
343 prefix: boolean;
344}
345
346export interface UpdateExpression extends BaseNode {
347 type: "UpdateExpression";
348 operator: "++" | "--";
349 argument: Expression;
350 prefix: boolean;
351}
352
353export interface VariableDeclaration extends BaseNode {
354 type: "VariableDeclaration";
355 kind: "var" | "let" | "const";
356 declarations: Array<VariableDeclarator>;
357 declare: boolean | null;
358}
359
360export interface VariableDeclarator extends BaseNode {
361 type: "VariableDeclarator";
362 id: LVal;
363 init: Expression | null;
364 definite: boolean | null;
365}
366
367export interface WhileStatement extends BaseNode {
368 type: "WhileStatement";
369 test: Expression;
370 body: BlockStatement | Statement;
371}
372
373export interface WithStatement extends BaseNode {
374 type: "WithStatement";
375 object: Expression;
376 body: BlockStatement | Statement;
377}
378
379export interface AssignmentPattern extends BaseNode {
380 type: "AssignmentPattern";
381 left: Identifier | ObjectPattern | ArrayPattern | MemberExpression;
382 right: Expression;
383 decorators: Array<Decorator> | null;
384 typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
385}
386
387export interface ArrayPattern extends BaseNode {
388 type: "ArrayPattern";
389 elements: Array<PatternLike>;
390 decorators: Array<Decorator> | null;
391 typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
392}
393
394export interface ArrowFunctionExpression extends BaseNode {
395 type: "ArrowFunctionExpression";
396 params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
397 body: BlockStatement | Expression;
398 async: boolean;
399 expression: boolean | null;
400 generator: boolean;
401 returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
402 typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
403}
404
405export interface ClassBody extends BaseNode {
406 type: "ClassBody";
407 body: Array<ClassMethod | ClassPrivateMethod | ClassProperty | ClassPrivateProperty | TSDeclareMethod | TSIndexSignature>;
408}
409
410export interface ClassDeclaration extends BaseNode {
411 type: "ClassDeclaration";
412 id: Identifier | null;
413 superClass: Expression | null;
414 body: ClassBody;
415 decorators: Array<Decorator> | null;
416 abstract: boolean | null;
417 declare: boolean | null;
418 implements: Array<TSExpressionWithTypeArguments | ClassImplements> | null;
419 mixins: any | null;
420 superTypeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
421 typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
422}
423
424export interface ClassExpression extends BaseNode {
425 type: "ClassExpression";
426 id: Identifier | null;
427 superClass: Expression | null;
428 body: ClassBody;
429 decorators: Array<Decorator> | null;
430 implements: Array<TSExpressionWithTypeArguments | ClassImplements> | null;
431 mixins: any | null;
432 superTypeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
433 typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
434}
435
436export interface ExportAllDeclaration extends BaseNode {
437 type: "ExportAllDeclaration";
438 source: StringLiteral;
439}
440
441export interface ExportDefaultDeclaration extends BaseNode {
442 type: "ExportDefaultDeclaration";
443 declaration: FunctionDeclaration | TSDeclareFunction | ClassDeclaration | Expression;
444}
445
446export interface ExportNamedDeclaration extends BaseNode {
447 type: "ExportNamedDeclaration";
448 declaration: Declaration | null;
449 specifiers: Array<ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier>;
450 source: StringLiteral | null;
451 exportKind: "type" | "value" | null;
452}
453
454export interface ExportSpecifier extends BaseNode {
455 type: "ExportSpecifier";
456 local: Identifier;
457 exported: Identifier;
458}
459
460export interface ForOfStatement extends BaseNode {
461 type: "ForOfStatement";
462 left: VariableDeclaration | LVal;
463 right: Expression;
464 body: Statement;
465 await: boolean;
466}
467
468export interface ImportDeclaration extends BaseNode {
469 type: "ImportDeclaration";
470 specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>;
471 source: StringLiteral;
472 importKind: "type" | "typeof" | "value" | null;
473}
474
475export interface ImportDefaultSpecifier extends BaseNode {
476 type: "ImportDefaultSpecifier";
477 local: Identifier;
478}
479
480export interface ImportNamespaceSpecifier extends BaseNode {
481 type: "ImportNamespaceSpecifier";
482 local: Identifier;
483}
484
485export interface ImportSpecifier extends BaseNode {
486 type: "ImportSpecifier";
487 local: Identifier;
488 imported: Identifier;
489 importKind: "type" | "typeof" | null;
490}
491
492export interface MetaProperty extends BaseNode {
493 type: "MetaProperty";
494 meta: Identifier;
495 property: Identifier;
496}
497
498export interface ClassMethod extends BaseNode {
499 type: "ClassMethod";
500 kind: "get" | "set" | "method" | "constructor";
501 key: Identifier | StringLiteral | NumericLiteral | Expression;
502 params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
503 body: BlockStatement;
504 computed: boolean;
505 static: boolean;
506 abstract: boolean | null;
507 access: "public" | "private" | "protected" | null;
508 accessibility: "public" | "private" | "protected" | null;
509 async: boolean;
510 decorators: Array<Decorator> | null;
511 generator: boolean;
512 optional: boolean | null;
513 returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
514 typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
515}
516
517export interface ObjectPattern extends BaseNode {
518 type: "ObjectPattern";
519 properties: Array<RestElement | ObjectProperty>;
520 decorators: Array<Decorator> | null;
521 typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
522}
523
524export interface SpreadElement extends BaseNode {
525 type: "SpreadElement";
526 argument: Expression;
527}
528
529export interface Super extends BaseNode {
530 type: "Super";
531}
532
533export interface TaggedTemplateExpression extends BaseNode {
534 type: "TaggedTemplateExpression";
535 tag: Expression;
536 quasi: TemplateLiteral;
537 typeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
538}
539
540export interface TemplateElement extends BaseNode {
541 type: "TemplateElement";
542 value: { raw: string, cooked?: string };
543 tail: boolean;
544}
545
546export interface TemplateLiteral extends BaseNode {
547 type: "TemplateLiteral";
548 quasis: Array<TemplateElement>;
549 expressions: Array<Expression>;
550}
551
552export interface YieldExpression extends BaseNode {
553 type: "YieldExpression";
554 argument: Expression | null;
555 delegate: boolean;
556}
557
558export interface AnyTypeAnnotation extends BaseNode {
559 type: "AnyTypeAnnotation";
560}
561
562export interface ArrayTypeAnnotation extends BaseNode {
563 type: "ArrayTypeAnnotation";
564 elementType: FlowType;
565}
566
567export interface BooleanTypeAnnotation extends BaseNode {
568 type: "BooleanTypeAnnotation";
569}
570
571export interface BooleanLiteralTypeAnnotation extends BaseNode {
572 type: "BooleanLiteralTypeAnnotation";
573 value: boolean;
574}
575
576export interface NullLiteralTypeAnnotation extends BaseNode {
577 type: "NullLiteralTypeAnnotation";
578}
579
580export interface ClassImplements extends BaseNode {
581 type: "ClassImplements";
582 id: Identifier;
583 typeParameters: TypeParameterInstantiation | null;
584}
585
586export interface DeclareClass extends BaseNode {
587 type: "DeclareClass";
588 id: Identifier;
589 typeParameters: TypeParameterDeclaration | null;
590 extends: Array<InterfaceExtends> | null;
591 body: ObjectTypeAnnotation;
592 implements: Array<ClassImplements> | null;
593 mixins: Array<InterfaceExtends> | null;
594}
595
596export interface DeclareFunction extends BaseNode {
597 type: "DeclareFunction";
598 id: Identifier;
599 predicate: DeclaredPredicate | null;
600}
601
602export interface DeclareInterface extends BaseNode {
603 type: "DeclareInterface";
604 id: Identifier;
605 typeParameters: TypeParameterDeclaration | null;
606 extends: Array<InterfaceExtends> | null;
607 body: ObjectTypeAnnotation;
608 implements: Array<ClassImplements> | null;
609 mixins: Array<InterfaceExtends> | null;
610}
611
612export interface DeclareModule extends BaseNode {
613 type: "DeclareModule";
614 id: Identifier | StringLiteral;
615 body: BlockStatement;
616 kind: "CommonJS" | "ES" | null;
617}
618
619export interface DeclareModuleExports extends BaseNode {
620 type: "DeclareModuleExports";
621 typeAnnotation: TypeAnnotation;
622}
623
624export interface DeclareTypeAlias extends BaseNode {
625 type: "DeclareTypeAlias";
626 id: Identifier;
627 typeParameters: TypeParameterDeclaration | null;
628 right: FlowType;
629}
630
631export interface DeclareOpaqueType extends BaseNode {
632 type: "DeclareOpaqueType";
633 id: Identifier;
634 typeParameters: TypeParameterDeclaration | null;
635 supertype: FlowType | null;
636}
637
638export interface DeclareVariable extends BaseNode {
639 type: "DeclareVariable";
640 id: Identifier;
641}
642
643export interface DeclareExportDeclaration extends BaseNode {
644 type: "DeclareExportDeclaration";
645 declaration: Flow | null;
646 specifiers: Array<ExportSpecifier | ExportNamespaceSpecifier> | null;
647 source: StringLiteral | null;
648 default: boolean | null;
649}
650
651export interface DeclareExportAllDeclaration extends BaseNode {
652 type: "DeclareExportAllDeclaration";
653 source: StringLiteral;
654 exportKind: "type" | "value" | null;
655}
656
657export interface DeclaredPredicate extends BaseNode {
658 type: "DeclaredPredicate";
659 value: Flow;
660}
661
662export interface ExistsTypeAnnotation extends BaseNode {
663 type: "ExistsTypeAnnotation";
664}
665
666export interface FunctionTypeAnnotation extends BaseNode {
667 type: "FunctionTypeAnnotation";
668 typeParameters: TypeParameterDeclaration | null;
669 params: Array<FunctionTypeParam>;
670 rest: FunctionTypeParam | null;
671 returnType: FlowType;
672}
673
674export interface FunctionTypeParam extends BaseNode {
675 type: "FunctionTypeParam";
676 name: Identifier | null;
677 typeAnnotation: FlowType;
678 optional: boolean | null;
679}
680
681export interface GenericTypeAnnotation extends BaseNode {
682 type: "GenericTypeAnnotation";
683 id: Identifier | QualifiedTypeIdentifier;
684 typeParameters: TypeParameterInstantiation | null;
685}
686
687export interface InferredPredicate extends BaseNode {
688 type: "InferredPredicate";
689}
690
691export interface InterfaceExtends extends BaseNode {
692 type: "InterfaceExtends";
693 id: Identifier | QualifiedTypeIdentifier;
694 typeParameters: TypeParameterInstantiation | null;
695}
696
697export interface InterfaceDeclaration extends BaseNode {
698 type: "InterfaceDeclaration";
699 id: Identifier;
700 typeParameters: TypeParameterDeclaration | null;
701 extends: Array<InterfaceExtends> | null;
702 body: ObjectTypeAnnotation;
703 implements: Array<ClassImplements> | null;
704 mixins: Array<InterfaceExtends> | null;
705}
706
707export interface InterfaceTypeAnnotation extends BaseNode {
708 type: "InterfaceTypeAnnotation";
709 extends: Array<InterfaceExtends> | null;
710 body: ObjectTypeAnnotation;
711}
712
713export interface IntersectionTypeAnnotation extends BaseNode {
714 type: "IntersectionTypeAnnotation";
715 types: Array<FlowType>;
716}
717
718export interface MixedTypeAnnotation extends BaseNode {
719 type: "MixedTypeAnnotation";
720}
721
722export interface EmptyTypeAnnotation extends BaseNode {
723 type: "EmptyTypeAnnotation";
724}
725
726export interface NullableTypeAnnotation extends BaseNode {
727 type: "NullableTypeAnnotation";
728 typeAnnotation: FlowType;
729}
730
731export interface NumberLiteralTypeAnnotation extends BaseNode {
732 type: "NumberLiteralTypeAnnotation";
733 value: number;
734}
735
736export interface NumberTypeAnnotation extends BaseNode {
737 type: "NumberTypeAnnotation";
738}
739
740export interface ObjectTypeAnnotation extends BaseNode {
741 type: "ObjectTypeAnnotation";
742 properties: Array<ObjectTypeProperty | ObjectTypeSpreadProperty>;
743 indexers: Array<ObjectTypeIndexer> | null;
744 callProperties: Array<ObjectTypeCallProperty> | null;
745 internalSlots: Array<ObjectTypeInternalSlot> | null;
746 exact: boolean;
747 inexact: boolean | null;
748}
749
750export interface ObjectTypeInternalSlot extends BaseNode {
751 type: "ObjectTypeInternalSlot";
752 id: Identifier;
753 value: FlowType;
754 optional: boolean;
755 static: boolean;
756 method: boolean;
757}
758
759export interface ObjectTypeCallProperty extends BaseNode {
760 type: "ObjectTypeCallProperty";
761 value: FlowType;
762 static: boolean | null;
763}
764
765export interface ObjectTypeIndexer extends BaseNode {
766 type: "ObjectTypeIndexer";
767 id: Identifier | null;
768 key: FlowType;
769 value: FlowType;
770 variance: Variance | null;
771 static: boolean | null;
772}
773
774export interface ObjectTypeProperty extends BaseNode {
775 type: "ObjectTypeProperty";
776 key: Identifier | StringLiteral;
777 value: FlowType;
778 variance: Variance | null;
779 kind: "init" | "get" | "set" | null;
780 optional: boolean | null;
781 proto: boolean | null;
782 static: boolean | null;
783}
784
785export interface ObjectTypeSpreadProperty extends BaseNode {
786 type: "ObjectTypeSpreadProperty";
787 argument: FlowType;
788}
789
790export interface OpaqueType extends BaseNode {
791 type: "OpaqueType";
792 id: Identifier;
793 typeParameters: TypeParameterDeclaration | null;
794 supertype: FlowType | null;
795 impltype: FlowType;
796}
797
798export interface QualifiedTypeIdentifier extends BaseNode {
799 type: "QualifiedTypeIdentifier";
800 id: Identifier;
801 qualification: Identifier | QualifiedTypeIdentifier;
802}
803
804export interface StringLiteralTypeAnnotation extends BaseNode {
805 type: "StringLiteralTypeAnnotation";
806 value: string;
807}
808
809export interface StringTypeAnnotation extends BaseNode {
810 type: "StringTypeAnnotation";
811}
812
813export interface ThisTypeAnnotation extends BaseNode {
814 type: "ThisTypeAnnotation";
815}
816
817export interface TupleTypeAnnotation extends BaseNode {
818 type: "TupleTypeAnnotation";
819 types: Array<FlowType>;
820}
821
822export interface TypeofTypeAnnotation extends BaseNode {
823 type: "TypeofTypeAnnotation";
824 argument: FlowType;
825}
826
827export interface TypeAlias extends BaseNode {
828 type: "TypeAlias";
829 id: Identifier;
830 typeParameters: TypeParameterDeclaration | null;
831 right: FlowType;
832}
833
834export interface TypeAnnotation extends BaseNode {
835 type: "TypeAnnotation";
836 typeAnnotation: FlowType;
837}
838
839export interface TypeCastExpression extends BaseNode {
840 type: "TypeCastExpression";
841 expression: Expression;
842 typeAnnotation: TypeAnnotation;
843}
844
845export interface TypeParameter extends BaseNode {
846 type: "TypeParameter";
847 bound: TypeAnnotation | null;
848 default: FlowType | null;
849 variance: Variance | null;
850 name: string | null;
851}
852
853export interface TypeParameterDeclaration extends BaseNode {
854 type: "TypeParameterDeclaration";
855 params: Array<TypeParameter>;
856}
857
858export interface TypeParameterInstantiation extends BaseNode {
859 type: "TypeParameterInstantiation";
860 params: Array<FlowType>;
861}
862
863export interface UnionTypeAnnotation extends BaseNode {
864 type: "UnionTypeAnnotation";
865 types: Array<FlowType>;
866}
867
868export interface Variance extends BaseNode {
869 type: "Variance";
870 kind: "minus" | "plus";
871}
872
873export interface VoidTypeAnnotation extends BaseNode {
874 type: "VoidTypeAnnotation";
875}
876
877export interface JSXAttribute extends BaseNode {
878 type: "JSXAttribute";
879 name: JSXIdentifier | JSXNamespacedName;
880 value: JSXElement | JSXFragment | StringLiteral | JSXExpressionContainer | null;
881}
882
883export interface JSXClosingElement extends BaseNode {
884 type: "JSXClosingElement";
885 name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
886}
887
888export interface JSXElement extends BaseNode {
889 type: "JSXElement";
890 openingElement: JSXOpeningElement;
891 closingElement: JSXClosingElement | null;
892 children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>;
893 selfClosing: any;
894}
895
896export interface JSXEmptyExpression extends BaseNode {
897 type: "JSXEmptyExpression";
898}
899
900export interface JSXExpressionContainer extends BaseNode {
901 type: "JSXExpressionContainer";
902 expression: Expression | JSXEmptyExpression;
903}
904
905export interface JSXSpreadChild extends BaseNode {
906 type: "JSXSpreadChild";
907 expression: Expression;
908}
909
910export interface JSXIdentifier extends BaseNode {
911 type: "JSXIdentifier";
912 name: string;
913}
914
915export interface JSXMemberExpression extends BaseNode {
916 type: "JSXMemberExpression";
917 object: JSXMemberExpression | JSXIdentifier;
918 property: JSXIdentifier;
919}
920
921export interface JSXNamespacedName extends BaseNode {
922 type: "JSXNamespacedName";
923 namespace: JSXIdentifier;
924 name: JSXIdentifier;
925}
926
927export interface JSXOpeningElement extends BaseNode {
928 type: "JSXOpeningElement";
929 name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
930 attributes: Array<JSXAttribute | JSXSpreadAttribute>;
931 selfClosing: boolean;
932 typeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
933}
934
935export interface JSXSpreadAttribute extends BaseNode {
936 type: "JSXSpreadAttribute";
937 argument: Expression;
938}
939
940export interface JSXText extends BaseNode {
941 type: "JSXText";
942 value: string;
943}
944
945export interface JSXFragment extends BaseNode {
946 type: "JSXFragment";
947 openingFragment: JSXOpeningFragment;
948 closingFragment: JSXClosingFragment;
949 children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>;
950}
951
952export interface JSXOpeningFragment extends BaseNode {
953 type: "JSXOpeningFragment";
954}
955
956export interface JSXClosingFragment extends BaseNode {
957 type: "JSXClosingFragment";
958}
959
960export interface Noop extends BaseNode {
961 type: "Noop";
962}
963
964export interface Placeholder extends BaseNode {
965 type: "Placeholder";
966 expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern";
967 name: Identifier;
968}
969
970export interface V8IntrinsicIdentifier extends BaseNode {
971 type: "V8IntrinsicIdentifier";
972 name: string;
973}
974
975export interface ArgumentPlaceholder extends BaseNode {
976 type: "ArgumentPlaceholder";
977}
978
979export interface AwaitExpression extends BaseNode {
980 type: "AwaitExpression";
981 argument: Expression;
982}
983
984export interface BindExpression extends BaseNode {
985 type: "BindExpression";
986 object: any;
987 callee: any;
988}
989
990export interface ClassProperty extends BaseNode {
991 type: "ClassProperty";
992 key: Identifier | StringLiteral | NumericLiteral | Expression;
993 value: Expression | null;
994 typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
995 decorators: Array<Decorator> | null;
996 computed: boolean;
997 static: boolean;
998 abstract: boolean | null;
999 accessibility: "public" | "private" | "protected" | null;
1000 definite: boolean | null;
1001 optional: boolean | null;
1002 readonly: boolean | null;
1003}
1004
1005export interface OptionalMemberExpression extends BaseNode {
1006 type: "OptionalMemberExpression";
1007 object: Expression;
1008 property: any;
1009 computed: boolean;
1010 optional: boolean;
1011}
1012
1013export interface PipelineTopicExpression extends BaseNode {
1014 type: "PipelineTopicExpression";
1015 expression: Expression;
1016}
1017
1018export interface PipelineBareFunction extends BaseNode {
1019 type: "PipelineBareFunction";
1020 callee: Expression;
1021}
1022
1023export interface PipelinePrimaryTopicReference extends BaseNode {
1024 type: "PipelinePrimaryTopicReference";
1025}
1026
1027export interface OptionalCallExpression extends BaseNode {
1028 type: "OptionalCallExpression";
1029 callee: Expression;
1030 arguments: Array<Expression | SpreadElement | JSXNamespacedName>;
1031 optional: boolean;
1032 typeArguments: TypeParameterInstantiation | null;
1033 typeParameters: TSTypeParameterInstantiation | null;
1034}
1035
1036export interface ClassPrivateProperty extends BaseNode {
1037 type: "ClassPrivateProperty";
1038 key: PrivateName;
1039 value: Expression | null;
1040 decorators: Array<Decorator> | null;
1041}
1042
1043export interface ClassPrivateMethod extends BaseNode {
1044 type: "ClassPrivateMethod";
1045 kind: "get" | "set" | "method" | "constructor";
1046 key: PrivateName;
1047 params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
1048 body: BlockStatement;
1049 static: boolean;
1050 abstract: boolean | null;
1051 access: "public" | "private" | "protected" | null;
1052 accessibility: "public" | "private" | "protected" | null;
1053 async: boolean;
1054 computed: boolean;
1055 decorators: Array<Decorator> | null;
1056 generator: boolean;
1057 optional: boolean | null;
1058 returnType: any | null;
1059 typeParameters: any | null;
1060}
1061
1062export interface Import extends BaseNode {
1063 type: "Import";
1064}
1065
1066export interface Decorator extends BaseNode {
1067 type: "Decorator";
1068 expression: Expression;
1069}
1070
1071export interface DoExpression extends BaseNode {
1072 type: "DoExpression";
1073 body: BlockStatement;
1074}
1075
1076export interface ExportDefaultSpecifier extends BaseNode {
1077 type: "ExportDefaultSpecifier";
1078 exported: Identifier;
1079}
1080
1081export interface ExportNamespaceSpecifier extends BaseNode {
1082 type: "ExportNamespaceSpecifier";
1083 exported: Identifier;
1084}
1085
1086export interface PrivateName extends BaseNode {
1087 type: "PrivateName";
1088 id: Identifier;
1089}
1090
1091export interface BigIntLiteral extends BaseNode {
1092 type: "BigIntLiteral";
1093 value: string;
1094}
1095
1096export interface TSParameterProperty extends BaseNode {
1097 type: "TSParameterProperty";
1098 parameter: Identifier | AssignmentPattern;
1099 accessibility: "public" | "private" | "protected" | null;
1100 readonly: boolean | null;
1101}
1102
1103export interface TSDeclareFunction extends BaseNode {
1104 type: "TSDeclareFunction";
1105 id: Identifier | null;
1106 typeParameters: TSTypeParameterDeclaration | Noop | null;
1107 params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
1108 returnType: TSTypeAnnotation | Noop | null;
1109 async: boolean;
1110 declare: boolean | null;
1111 generator: boolean;
1112}
1113
1114export interface TSDeclareMethod extends BaseNode {
1115 type: "TSDeclareMethod";
1116 decorators: Array<Decorator> | null;
1117 key: Identifier | StringLiteral | NumericLiteral | Expression;
1118 typeParameters: TSTypeParameterDeclaration | Noop | null;
1119 params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
1120 returnType: TSTypeAnnotation | Noop | null;
1121 abstract: boolean | null;
1122 access: "public" | "private" | "protected" | null;
1123 accessibility: "public" | "private" | "protected" | null;
1124 async: boolean;
1125 computed: boolean;
1126 generator: boolean;
1127 kind: "get" | "set" | "method" | "constructor";
1128 optional: boolean | null;
1129 static: boolean;
1130}
1131
1132export interface TSQualifiedName extends BaseNode {
1133 type: "TSQualifiedName";
1134 left: TSEntityName;
1135 right: Identifier;
1136}
1137
1138export interface TSCallSignatureDeclaration extends BaseNode {
1139 type: "TSCallSignatureDeclaration";
1140 typeParameters: TSTypeParameterDeclaration | null;
1141 parameters: Array<Identifier | RestElement>;
1142 typeAnnotation: TSTypeAnnotation | null;
1143}
1144
1145export interface TSConstructSignatureDeclaration extends BaseNode {
1146 type: "TSConstructSignatureDeclaration";
1147 typeParameters: TSTypeParameterDeclaration | null;
1148 parameters: Array<Identifier | RestElement>;
1149 typeAnnotation: TSTypeAnnotation | null;
1150}
1151
1152export interface TSPropertySignature extends BaseNode {
1153 type: "TSPropertySignature";
1154 key: Expression;
1155 typeAnnotation: TSTypeAnnotation | null;
1156 initializer: Expression | null;
1157 computed: boolean | null;
1158 optional: boolean | null;
1159 readonly: boolean | null;
1160}
1161
1162export interface TSMethodSignature extends BaseNode {
1163 type: "TSMethodSignature";
1164 key: Expression;
1165 typeParameters: TSTypeParameterDeclaration | null;
1166 parameters: Array<Identifier | RestElement>;
1167 typeAnnotation: TSTypeAnnotation | null;
1168 computed: boolean | null;
1169 optional: boolean | null;
1170}
1171
1172export interface TSIndexSignature extends BaseNode {
1173 type: "TSIndexSignature";
1174 parameters: Array<Identifier>;
1175 typeAnnotation: TSTypeAnnotation | null;
1176 readonly: boolean | null;
1177}
1178
1179export interface TSAnyKeyword extends BaseNode {
1180 type: "TSAnyKeyword";
1181}
1182
1183export interface TSBooleanKeyword extends BaseNode {
1184 type: "TSBooleanKeyword";
1185}
1186
1187export interface TSBigIntKeyword extends BaseNode {
1188 type: "TSBigIntKeyword";
1189}
1190
1191export interface TSNeverKeyword extends BaseNode {
1192 type: "TSNeverKeyword";
1193}
1194
1195export interface TSNullKeyword extends BaseNode {
1196 type: "TSNullKeyword";
1197}
1198
1199export interface TSNumberKeyword extends BaseNode {
1200 type: "TSNumberKeyword";
1201}
1202
1203export interface TSObjectKeyword extends BaseNode {
1204 type: "TSObjectKeyword";
1205}
1206
1207export interface TSStringKeyword extends BaseNode {
1208 type: "TSStringKeyword";
1209}
1210
1211export interface TSSymbolKeyword extends BaseNode {
1212 type: "TSSymbolKeyword";
1213}
1214
1215export interface TSUndefinedKeyword extends BaseNode {
1216 type: "TSUndefinedKeyword";
1217}
1218
1219export interface TSUnknownKeyword extends BaseNode {
1220 type: "TSUnknownKeyword";
1221}
1222
1223export interface TSVoidKeyword extends BaseNode {
1224 type: "TSVoidKeyword";
1225}
1226
1227export interface TSThisType extends BaseNode {
1228 type: "TSThisType";
1229}
1230
1231export interface TSFunctionType extends BaseNode {
1232 type: "TSFunctionType";
1233 typeParameters: TSTypeParameterDeclaration | null;
1234 parameters: Array<Identifier | RestElement>;
1235 typeAnnotation: TSTypeAnnotation | null;
1236}
1237
1238export interface TSConstructorType extends BaseNode {
1239 type: "TSConstructorType";
1240 typeParameters: TSTypeParameterDeclaration | null;
1241 parameters: Array<Identifier | RestElement>;
1242 typeAnnotation: TSTypeAnnotation | null;
1243}
1244
1245export interface TSTypeReference extends BaseNode {
1246 type: "TSTypeReference";
1247 typeName: TSEntityName;
1248 typeParameters: TSTypeParameterInstantiation | null;
1249}
1250
1251export interface TSTypePredicate extends BaseNode {
1252 type: "TSTypePredicate";
1253 parameterName: Identifier | TSThisType;
1254 typeAnnotation: TSTypeAnnotation;
1255}
1256
1257export interface TSTypeQuery extends BaseNode {
1258 type: "TSTypeQuery";
1259 exprName: TSEntityName | TSImportType;
1260}
1261
1262export interface TSTypeLiteral extends BaseNode {
1263 type: "TSTypeLiteral";
1264 members: Array<TSTypeElement>;
1265}
1266
1267export interface TSArrayType extends BaseNode {
1268 type: "TSArrayType";
1269 elementType: TSType;
1270}
1271
1272export interface TSTupleType extends BaseNode {
1273 type: "TSTupleType";
1274 elementTypes: Array<TSType>;
1275}
1276
1277export interface TSOptionalType extends BaseNode {
1278 type: "TSOptionalType";
1279 typeAnnotation: TSType;
1280}
1281
1282export interface TSRestType extends BaseNode {
1283 type: "TSRestType";
1284 typeAnnotation: TSType;
1285}
1286
1287export interface TSUnionType extends BaseNode {
1288 type: "TSUnionType";
1289 types: Array<TSType>;
1290}
1291
1292export interface TSIntersectionType extends BaseNode {
1293 type: "TSIntersectionType";
1294 types: Array<TSType>;
1295}
1296
1297export interface TSConditionalType extends BaseNode {
1298 type: "TSConditionalType";
1299 checkType: TSType;
1300 extendsType: TSType;
1301 trueType: TSType;
1302 falseType: TSType;
1303}
1304
1305export interface TSInferType extends BaseNode {
1306 type: "TSInferType";
1307 typeParameter: TSTypeParameter;
1308}
1309
1310export interface TSParenthesizedType extends BaseNode {
1311 type: "TSParenthesizedType";
1312 typeAnnotation: TSType;
1313}
1314
1315export interface TSTypeOperator extends BaseNode {
1316 type: "TSTypeOperator";
1317 typeAnnotation: TSType;
1318 operator: string | null;
1319}
1320
1321export interface TSIndexedAccessType extends BaseNode {
1322 type: "TSIndexedAccessType";
1323 objectType: TSType;
1324 indexType: TSType;
1325}
1326
1327export interface TSMappedType extends BaseNode {
1328 type: "TSMappedType";
1329 typeParameter: TSTypeParameter;
1330 typeAnnotation: TSType | null;
1331 optional: boolean | null;
1332 readonly: boolean | null;
1333}
1334
1335export interface TSLiteralType extends BaseNode {
1336 type: "TSLiteralType";
1337 literal: NumericLiteral | StringLiteral | BooleanLiteral;
1338}
1339
1340export interface TSExpressionWithTypeArguments extends BaseNode {
1341 type: "TSExpressionWithTypeArguments";
1342 expression: TSEntityName;
1343 typeParameters: TSTypeParameterInstantiation | null;
1344}
1345
1346export interface TSInterfaceDeclaration extends BaseNode {
1347 type: "TSInterfaceDeclaration";
1348 id: Identifier;
1349 typeParameters: TSTypeParameterDeclaration | null;
1350 extends: Array<TSExpressionWithTypeArguments> | null;
1351 body: TSInterfaceBody;
1352 declare: boolean | null;
1353}
1354
1355export interface TSInterfaceBody extends BaseNode {
1356 type: "TSInterfaceBody";
1357 body: Array<TSTypeElement>;
1358}
1359
1360export interface TSTypeAliasDeclaration extends BaseNode {
1361 type: "TSTypeAliasDeclaration";
1362 id: Identifier;
1363 typeParameters: TSTypeParameterDeclaration | null;
1364 typeAnnotation: TSType;
1365 declare: boolean | null;
1366}
1367
1368export interface TSAsExpression extends BaseNode {
1369 type: "TSAsExpression";
1370 expression: Expression;
1371 typeAnnotation: TSType;
1372}
1373
1374export interface TSTypeAssertion extends BaseNode {
1375 type: "TSTypeAssertion";
1376 typeAnnotation: TSType;
1377 expression: Expression;
1378}
1379
1380export interface TSEnumDeclaration extends BaseNode {
1381 type: "TSEnumDeclaration";
1382 id: Identifier;
1383 members: Array<TSEnumMember>;
1384 const: boolean | null;
1385 declare: boolean | null;
1386 initializer: Expression | null;
1387}
1388
1389export interface TSEnumMember extends BaseNode {
1390 type: "TSEnumMember";
1391 id: Identifier | StringLiteral;
1392 initializer: Expression | null;
1393}
1394
1395export interface TSModuleDeclaration extends BaseNode {
1396 type: "TSModuleDeclaration";
1397 id: Identifier | StringLiteral;
1398 body: TSModuleBlock | TSModuleDeclaration;
1399 declare: boolean | null;
1400 global: boolean | null;
1401}
1402
1403export interface TSModuleBlock extends BaseNode {
1404 type: "TSModuleBlock";
1405 body: Array<Statement>;
1406}
1407
1408export interface TSImportType extends BaseNode {
1409 type: "TSImportType";
1410 argument: StringLiteral;
1411 qualifier: TSEntityName | null;
1412 typeParameters: TSTypeParameterInstantiation | null;
1413}
1414
1415export interface TSImportEqualsDeclaration extends BaseNode {
1416 type: "TSImportEqualsDeclaration";
1417 id: Identifier;
1418 moduleReference: TSEntityName | TSExternalModuleReference;
1419 isExport: boolean | null;
1420}
1421
1422export interface TSExternalModuleReference extends BaseNode {
1423 type: "TSExternalModuleReference";
1424 expression: StringLiteral;
1425}
1426
1427export interface TSNonNullExpression extends BaseNode {
1428 type: "TSNonNullExpression";
1429 expression: Expression;
1430}
1431
1432export interface TSExportAssignment extends BaseNode {
1433 type: "TSExportAssignment";
1434 expression: Expression;
1435}
1436
1437export interface TSNamespaceExportDeclaration extends BaseNode {
1438 type: "TSNamespaceExportDeclaration";
1439 id: Identifier;
1440}
1441
1442export interface TSTypeAnnotation extends BaseNode {
1443 type: "TSTypeAnnotation";
1444 typeAnnotation: TSType;
1445}
1446
1447export interface TSTypeParameterInstantiation extends BaseNode {
1448 type: "TSTypeParameterInstantiation";
1449 params: Array<TSType>;
1450}
1451
1452export interface TSTypeParameterDeclaration extends BaseNode {
1453 type: "TSTypeParameterDeclaration";
1454 params: Array<TSTypeParameter>;
1455}
1456
1457export interface TSTypeParameter extends BaseNode {
1458 type: "TSTypeParameter";
1459 constraint: TSType | null;
1460 default: TSType | null;
1461 name: string;
1462}
1463
1464/**
1465 * @deprecated Use `NumericLiteral`
1466 */
1467export type NumberLiteral = NumericLiteral;
1468
1469/**
1470 * @deprecated Use `RegExpLiteral`
1471 */
1472export type RegexLiteral = RegExpLiteral;
1473
1474/**
1475 * @deprecated Use `RestElement`
1476 */
1477export type RestProperty = RestElement;
1478
1479/**
1480 * @deprecated Use `SpreadElement`
1481 */
1482export type SpreadProperty = SpreadElement;
1483
1484export type Expression = ArrayExpression | AssignmentExpression | BinaryExpression | CallExpression | ConditionalExpression | FunctionExpression | Identifier | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | LogicalExpression | MemberExpression | NewExpression | ObjectExpression | SequenceExpression | ParenthesizedExpression | ThisExpression | UnaryExpression | UpdateExpression | ArrowFunctionExpression | ClassExpression | MetaProperty | Super | TaggedTemplateExpression | TemplateLiteral | YieldExpression | TypeCastExpression | JSXElement | JSXFragment | AwaitExpression | BindExpression | OptionalMemberExpression | PipelinePrimaryTopicReference | OptionalCallExpression | Import | DoExpression | BigIntLiteral | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
1485export type Binary = BinaryExpression | LogicalExpression;
1486export type Scopable = BlockStatement | CatchClause | DoWhileStatement | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Program | ObjectMethod | SwitchStatement | WhileStatement | ArrowFunctionExpression | ClassDeclaration | ClassExpression | ForOfStatement | ClassMethod | ClassPrivateMethod | TSModuleBlock;
1487export type BlockParent = BlockStatement | CatchClause | DoWhileStatement | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Program | ObjectMethod | SwitchStatement | WhileStatement | ArrowFunctionExpression | ForOfStatement | ClassMethod | ClassPrivateMethod | TSModuleBlock;
1488export type Block = BlockStatement | Program | TSModuleBlock;
1489export type Statement = BlockStatement | BreakStatement | ContinueStatement | DebuggerStatement | DoWhileStatement | EmptyStatement | ExpressionStatement | ForInStatement | ForStatement | FunctionDeclaration | IfStatement | LabeledStatement | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | VariableDeclaration | WhileStatement | WithStatement | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ForOfStatement | ImportDeclaration | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration | TSImportEqualsDeclaration | TSExportAssignment | TSNamespaceExportDeclaration;
1490export type Terminatorless = BreakStatement | ContinueStatement | ReturnStatement | ThrowStatement | YieldExpression | AwaitExpression;
1491export type CompletionStatement = BreakStatement | ContinueStatement | ReturnStatement | ThrowStatement;
1492export type Conditional = ConditionalExpression | IfStatement;
1493export type Loop = DoWhileStatement | ForInStatement | ForStatement | WhileStatement | ForOfStatement;
1494export type While = DoWhileStatement | WhileStatement;
1495export type ExpressionWrapper = ExpressionStatement | ParenthesizedExpression | TypeCastExpression;
1496export type For = ForInStatement | ForStatement | ForOfStatement;
1497export type ForXStatement = ForInStatement | ForOfStatement;
1498export type Function = FunctionDeclaration | FunctionExpression | ObjectMethod | ArrowFunctionExpression | ClassMethod | ClassPrivateMethod;
1499export type FunctionParent = FunctionDeclaration | FunctionExpression | ObjectMethod | ArrowFunctionExpression | ClassMethod | ClassPrivateMethod;
1500export type Pureish = FunctionDeclaration | FunctionExpression | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | ArrowFunctionExpression | ClassDeclaration | ClassExpression | BigIntLiteral;
1501export type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration;
1502export type PatternLike = Identifier | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern;
1503export type LVal = Identifier | MemberExpression | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSParameterProperty;
1504export type TSEntityName = Identifier | TSQualifiedName;
1505export type Literal = StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | TemplateLiteral | BigIntLiteral;
1506export type Immutable = StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | JSXAttribute | JSXClosingElement | JSXElement | JSXExpressionContainer | JSXSpreadChild | JSXOpeningElement | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment | BigIntLiteral;
1507export type UserWhitespacable = ObjectMethod | ObjectProperty | ObjectTypeInternalSlot | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeProperty | ObjectTypeSpreadProperty;
1508export type Method = ObjectMethod | ClassMethod | ClassPrivateMethod;
1509export type ObjectMember = ObjectMethod | ObjectProperty;
1510export type Property = ObjectProperty | ClassProperty | ClassPrivateProperty;
1511export type UnaryLike = UnaryExpression | SpreadElement;
1512export type Pattern = AssignmentPattern | ArrayPattern | ObjectPattern;
1513export type Class = ClassDeclaration | ClassExpression;
1514export type ModuleDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration;
1515export type ExportDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration;
1516export type ModuleSpecifier = ExportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier;
1517export type Flow = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ClassImplements | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | DeclaredPredicate | ExistsTypeAnnotation | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | InferredPredicate | InterfaceExtends | InterfaceDeclaration | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | ObjectTypeInternalSlot | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | QualifiedTypeIdentifier | StringLiteralTypeAnnotation | StringTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | UnionTypeAnnotation | Variance | VoidTypeAnnotation;
1518export type FlowType = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ExistsTypeAnnotation | FunctionTypeAnnotation | GenericTypeAnnotation | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | StringLiteralTypeAnnotation | StringTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | UnionTypeAnnotation | VoidTypeAnnotation;
1519export type FlowBaseAnnotation = AnyTypeAnnotation | BooleanTypeAnnotation | NullLiteralTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NumberTypeAnnotation | StringTypeAnnotation | ThisTypeAnnotation | VoidTypeAnnotation;
1520export type FlowDeclaration = DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias;
1521export type FlowPredicate = DeclaredPredicate | InferredPredicate;
1522export type JSX = JSXAttribute | JSXClosingElement | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXSpreadChild | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXSpreadAttribute | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment;
1523export type Private = ClassPrivateProperty | ClassPrivateMethod | PrivateName;
1524export type TSTypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature;
1525export type TSType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSFunctionType | TSConstructorType | TSTypeReference | TSTypePredicate | TSTypeQuery | TSTypeLiteral | TSArrayType | TSTupleType | TSOptionalType | TSRestType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSParenthesizedType | TSTypeOperator | TSIndexedAccessType | TSMappedType | TSLiteralType | TSExpressionWithTypeArguments | TSImportType;
1526
1527export interface Aliases {
1528 Expression: Expression;
1529 Binary: Binary;
1530 Scopable: Scopable;
1531 BlockParent: BlockParent;
1532 Block: Block;
1533 Statement: Statement;
1534 Terminatorless: Terminatorless;
1535 CompletionStatement: CompletionStatement;
1536 Conditional: Conditional;
1537 Loop: Loop;
1538 While: While;
1539 ExpressionWrapper: ExpressionWrapper;
1540 For: For;
1541 ForXStatement: ForXStatement;
1542 Function: Function;
1543 FunctionParent: FunctionParent;
1544 Pureish: Pureish;
1545 Declaration: Declaration;
1546 PatternLike: PatternLike;
1547 LVal: LVal;
1548 TSEntityName: TSEntityName;
1549 Literal: Literal;
1550 Immutable: Immutable;
1551 UserWhitespacable: UserWhitespacable;
1552 Method: Method;
1553 ObjectMember: ObjectMember;
1554 Property: Property;
1555 UnaryLike: UnaryLike;
1556 Pattern: Pattern;
1557 Class: Class;
1558 ModuleDeclaration: ModuleDeclaration;
1559 ExportDeclaration: ExportDeclaration;
1560 ModuleSpecifier: ModuleSpecifier;
1561 Flow: Flow;
1562 FlowType: FlowType;
1563 FlowBaseAnnotation: FlowBaseAnnotation;
1564 FlowDeclaration: FlowDeclaration;
1565 FlowPredicate: FlowPredicate;
1566 JSX: JSX;
1567 Private: Private;
1568 TSTypeElement: TSTypeElement;
1569 TSType: TSType;
1570}
1571
1572export function arrayExpression(elements?: Array<null | Expression | SpreadElement>): ArrayExpression;
1573export function assignmentExpression(operator: string, left: LVal, right: Expression): AssignmentExpression;
1574export function binaryExpression(operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=", left: Expression, right: Expression): BinaryExpression;
1575export function interpreterDirective(value: string): InterpreterDirective;
1576export function directive(value: DirectiveLiteral): Directive;
1577export function directiveLiteral(value: string): DirectiveLiteral;
1578export function blockStatement(body: Array<Statement>, directives?: Array<Directive>): BlockStatement;
1579export function breakStatement(label?: Identifier | null): BreakStatement;
1580export function callExpression(callee: Expression | V8IntrinsicIdentifier, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>, optional?: true | false | null, typeArguments?: TypeParameterInstantiation | null, typeParameters?: TSTypeParameterInstantiation | null): CallExpression;
1581export function catchClause(param: Identifier | null | undefined, body: BlockStatement): CatchClause;
1582export function conditionalExpression(test: Expression, consequent: Expression, alternate: Expression): ConditionalExpression;
1583export function continueStatement(label?: Identifier | null): ContinueStatement;
1584export function debuggerStatement(): DebuggerStatement;
1585export function doWhileStatement(test: Expression, body: Statement): DoWhileStatement;
1586export function emptyStatement(): EmptyStatement;
1587export function expressionStatement(expression: Expression): ExpressionStatement;
1588export function file(program: Program, comments: any, tokens: any): File;
1589export function forInStatement(left: VariableDeclaration | LVal, right: Expression, body: Statement): ForInStatement;
1590export function forStatement(init: VariableDeclaration | Expression | null | undefined, test: Expression | null | undefined, update: Expression | null | undefined, body: Statement): ForStatement;
1591export function functionDeclaration(id: Identifier | null | undefined, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, generator?: boolean, async?: boolean, declare?: boolean | null, returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null, typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null): FunctionDeclaration;
1592export function functionExpression(id: Identifier | null | undefined, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, generator?: boolean, async?: boolean, returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null, typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null): FunctionExpression;
1593export function identifier(name: string, decorators?: Array<Decorator> | null, optional?: boolean | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null): Identifier;
1594export function ifStatement(test: Expression, consequent: Statement, alternate?: Statement | null): IfStatement;
1595export function labeledStatement(label: Identifier, body: Statement): LabeledStatement;
1596export function stringLiteral(value: string): StringLiteral;
1597export function numericLiteral(value: number): NumericLiteral;
1598export function nullLiteral(): NullLiteral;
1599export function booleanLiteral(value: boolean): BooleanLiteral;
1600export function regExpLiteral(pattern: string, flags?: string): RegExpLiteral;
1601export function logicalExpression(operator: "||" | "&&" | "??", left: Expression, right: Expression): LogicalExpression;
1602export function memberExpression(object: Expression, property: any, computed?: boolean, optional?: true | false | null): MemberExpression;
1603export function newExpression(callee: Expression | V8IntrinsicIdentifier, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>, optional?: true | false | null, typeArguments?: TypeParameterInstantiation | null, typeParameters?: TSTypeParameterInstantiation | null): NewExpression;
1604export function program(body: Array<Statement>, directives?: Array<Directive>, sourceType?: "script" | "module", interpreter?: InterpreterDirective | null, sourceFile?: string | null): Program;
1605export function objectExpression(properties: Array<ObjectMethod | ObjectProperty | SpreadElement>): ObjectExpression;
1606export function objectMethod(kind: "method" | "get" | "set" | undefined, key: any, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, computed?: boolean, async?: boolean, decorators?: Array<Decorator> | null, generator?: boolean, returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null, typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null): ObjectMethod;
1607export function objectProperty(key: any, value: Expression | PatternLike, computed?: boolean, shorthand?: boolean, decorators?: Array<Decorator> | null): ObjectProperty;
1608export function restElement(argument: LVal, decorators?: Array<Decorator> | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null): RestElement;
1609export function returnStatement(argument?: Expression | null): ReturnStatement;
1610export function sequenceExpression(expressions: Array<Expression>): SequenceExpression;
1611export function parenthesizedExpression(expression: Expression): ParenthesizedExpression;
1612export function switchCase(test: Expression | null | undefined, consequent: Array<Statement>): SwitchCase;
1613export function switchStatement(discriminant: Expression, cases: Array<SwitchCase>): SwitchStatement;
1614export function thisExpression(): ThisExpression;
1615export function throwStatement(argument: Expression): ThrowStatement;
1616export function tryStatement(block: BlockStatement, handler?: CatchClause | null, finalizer?: BlockStatement | null): TryStatement;
1617export function unaryExpression(operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof", argument: Expression, prefix?: boolean): UnaryExpression;
1618export function updateExpression(operator: "++" | "--", argument: Expression, prefix?: boolean): UpdateExpression;
1619export function variableDeclaration(kind: "var" | "let" | "const", declarations: Array<VariableDeclarator>, declare?: boolean | null): VariableDeclaration;
1620export function variableDeclarator(id: LVal, init?: Expression | null, definite?: boolean | null): VariableDeclarator;
1621export function whileStatement(test: Expression, body: BlockStatement | Statement): WhileStatement;
1622export function withStatement(object: Expression, body: BlockStatement | Statement): WithStatement;
1623export function assignmentPattern(left: Identifier | ObjectPattern | ArrayPattern | MemberExpression, right: Expression, decorators?: Array<Decorator> | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null): AssignmentPattern;
1624export function arrayPattern(elements: Array<PatternLike>, decorators?: Array<Decorator> | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null): ArrayPattern;
1625export function arrowFunctionExpression(params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement | Expression, async?: boolean, expression?: boolean | null, generator?: boolean, returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null, typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null): ArrowFunctionExpression;
1626export function classBody(body: Array<ClassMethod | ClassPrivateMethod | ClassProperty | ClassPrivateProperty | TSDeclareMethod | TSIndexSignature>): ClassBody;
1627export function classDeclaration(id: Identifier | null | undefined, superClass: Expression | null | undefined, body: ClassBody, decorators?: Array<Decorator> | null, abstract?: boolean | null, declare?: boolean | null, _implements?: Array<TSExpressionWithTypeArguments | ClassImplements> | null, mixins?: any | null, superTypeParameters?: TypeParameterInstantiation | TSTypeParameterInstantiation | null, typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null): ClassDeclaration;
1628export function classExpression(id: Identifier | null | undefined, superClass: Expression | null | undefined, body: ClassBody, decorators?: Array<Decorator> | null, _implements?: Array<TSExpressionWithTypeArguments | ClassImplements> | null, mixins?: any | null, superTypeParameters?: TypeParameterInstantiation | TSTypeParameterInstantiation | null, typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null): ClassExpression;
1629export function exportAllDeclaration(source: StringLiteral): ExportAllDeclaration;
1630export function exportDefaultDeclaration(declaration: FunctionDeclaration | TSDeclareFunction | ClassDeclaration | Expression): ExportDefaultDeclaration;
1631export function exportNamedDeclaration(declaration: Declaration | null | undefined, specifiers: Array<ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier>, source?: StringLiteral | null, exportKind?: "type" | "value" | null): ExportNamedDeclaration;
1632export function exportSpecifier(local: Identifier, exported: Identifier): ExportSpecifier;
1633export function forOfStatement(left: VariableDeclaration | LVal, right: Expression, body: Statement, _await?: boolean): ForOfStatement;
1634export function importDeclaration(specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>, source: StringLiteral, importKind?: "type" | "typeof" | "value" | null): ImportDeclaration;
1635export function importDefaultSpecifier(local: Identifier): ImportDefaultSpecifier;
1636export function importNamespaceSpecifier(local: Identifier): ImportNamespaceSpecifier;
1637export function importSpecifier(local: Identifier, imported: Identifier, importKind?: "type" | "typeof" | null): ImportSpecifier;
1638export function metaProperty(meta: Identifier, property: Identifier): MetaProperty;
1639export function classMethod(kind: "get" | "set" | "method" | "constructor" | undefined, key: Identifier | StringLiteral | NumericLiteral | Expression, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, computed?: boolean, _static?: boolean, abstract?: boolean | null, access?: "public" | "private" | "protected" | null, accessibility?: "public" | "private" | "protected" | null, async?: boolean, decorators?: Array<Decorator> | null, generator?: boolean, optional?: boolean | null, returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null, typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null): ClassMethod;
1640export function objectPattern(properties: Array<RestElement | ObjectProperty>, decorators?: Array<Decorator> | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null): ObjectPattern;
1641export function spreadElement(argument: Expression): SpreadElement;
1642declare function _super(): Super;
1643export { _super as super}
1644export function taggedTemplateExpression(tag: Expression, quasi: TemplateLiteral, typeParameters?: TypeParameterInstantiation | TSTypeParameterInstantiation | null): TaggedTemplateExpression;
1645export function templateElement(value: { raw: string, cooked?: string }, tail?: boolean): TemplateElement;
1646export function templateLiteral(quasis: Array<TemplateElement>, expressions: Array<Expression>): TemplateLiteral;
1647export function yieldExpression(argument?: Expression | null, delegate?: boolean): YieldExpression;
1648export function anyTypeAnnotation(): AnyTypeAnnotation;
1649export function arrayTypeAnnotation(elementType: FlowType): ArrayTypeAnnotation;
1650export function booleanTypeAnnotation(): BooleanTypeAnnotation;
1651export function booleanLiteralTypeAnnotation(value: boolean): BooleanLiteralTypeAnnotation;
1652export function nullLiteralTypeAnnotation(): NullLiteralTypeAnnotation;
1653export function classImplements(id: Identifier, typeParameters?: TypeParameterInstantiation | null): ClassImplements;
1654export function declareClass(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, _extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation, _implements?: Array<ClassImplements> | null, mixins?: Array<InterfaceExtends> | null): DeclareClass;
1655export function declareFunction(id: Identifier, predicate?: DeclaredPredicate | null): DeclareFunction;
1656export function declareInterface(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, _extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation, _implements?: Array<ClassImplements> | null, mixins?: Array<InterfaceExtends> | null): DeclareInterface;
1657export function declareModule(id: Identifier | StringLiteral, body: BlockStatement, kind?: "CommonJS" | "ES" | null): DeclareModule;
1658export function declareModuleExports(typeAnnotation: TypeAnnotation): DeclareModuleExports;
1659export function declareTypeAlias(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, right: FlowType): DeclareTypeAlias;
1660export function declareOpaqueType(id: Identifier, typeParameters?: TypeParameterDeclaration | null, supertype?: FlowType | null): DeclareOpaqueType;
1661export function declareVariable(id: Identifier): DeclareVariable;
1662export function declareExportDeclaration(declaration?: Flow | null, specifiers?: Array<ExportSpecifier | ExportNamespaceSpecifier> | null, source?: StringLiteral | null, _default?: boolean | null): DeclareExportDeclaration;
1663export function declareExportAllDeclaration(source: StringLiteral, exportKind?: "type" | "value" | null): DeclareExportAllDeclaration;
1664export function declaredPredicate(value: Flow): DeclaredPredicate;
1665export function existsTypeAnnotation(): ExistsTypeAnnotation;
1666export function functionTypeAnnotation(typeParameters: TypeParameterDeclaration | null | undefined, params: Array<FunctionTypeParam>, rest: FunctionTypeParam | null | undefined, returnType: FlowType): FunctionTypeAnnotation;
1667export function functionTypeParam(name: Identifier | null | undefined, typeAnnotation: FlowType, optional?: boolean | null): FunctionTypeParam;
1668export function genericTypeAnnotation(id: Identifier | QualifiedTypeIdentifier, typeParameters?: TypeParameterInstantiation | null): GenericTypeAnnotation;
1669export function inferredPredicate(): InferredPredicate;
1670export function interfaceExtends(id: Identifier | QualifiedTypeIdentifier, typeParameters?: TypeParameterInstantiation | null): InterfaceExtends;
1671export function interfaceDeclaration(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, _extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation, _implements?: Array<ClassImplements> | null, mixins?: Array<InterfaceExtends> | null): InterfaceDeclaration;
1672export function interfaceTypeAnnotation(_extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation): InterfaceTypeAnnotation;
1673export function intersectionTypeAnnotation(types: Array<FlowType>): IntersectionTypeAnnotation;
1674export function mixedTypeAnnotation(): MixedTypeAnnotation;
1675export function emptyTypeAnnotation(): EmptyTypeAnnotation;
1676export function nullableTypeAnnotation(typeAnnotation: FlowType): NullableTypeAnnotation;
1677export function numberLiteralTypeAnnotation(value: number): NumberLiteralTypeAnnotation;
1678export function numberTypeAnnotation(): NumberTypeAnnotation;
1679export function objectTypeAnnotation(properties: Array<ObjectTypeProperty | ObjectTypeSpreadProperty>, indexers?: Array<ObjectTypeIndexer> | null, callProperties?: Array<ObjectTypeCallProperty> | null, internalSlots?: Array<ObjectTypeInternalSlot> | null, exact?: boolean, inexact?: boolean | null): ObjectTypeAnnotation;
1680export function objectTypeInternalSlot(id: Identifier, value: FlowType, optional: boolean, _static: boolean, method: boolean): ObjectTypeInternalSlot;
1681export function objectTypeCallProperty(value: FlowType, _static?: boolean | null): ObjectTypeCallProperty;
1682export function objectTypeIndexer(id: Identifier | null | undefined, key: FlowType, value: FlowType, variance?: Variance | null, _static?: boolean | null): ObjectTypeIndexer;
1683export function objectTypeProperty(key: Identifier | StringLiteral, value: FlowType, variance?: Variance | null, kind?: "init" | "get" | "set" | null, optional?: boolean | null, proto?: boolean | null, _static?: boolean | null): ObjectTypeProperty;
1684export function objectTypeSpreadProperty(argument: FlowType): ObjectTypeSpreadProperty;
1685export function opaqueType(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, supertype: FlowType | null | undefined, impltype: FlowType): OpaqueType;
1686export function qualifiedTypeIdentifier(id: Identifier, qualification: Identifier | QualifiedTypeIdentifier): QualifiedTypeIdentifier;
1687export function stringLiteralTypeAnnotation(value: string): StringLiteralTypeAnnotation;
1688export function stringTypeAnnotation(): StringTypeAnnotation;
1689export function thisTypeAnnotation(): ThisTypeAnnotation;
1690export function tupleTypeAnnotation(types: Array<FlowType>): TupleTypeAnnotation;
1691export function typeofTypeAnnotation(argument: FlowType): TypeofTypeAnnotation;
1692export function typeAlias(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, right: FlowType): TypeAlias;
1693export function typeAnnotation(typeAnnotation: FlowType): TypeAnnotation;
1694export function typeCastExpression(expression: Expression, typeAnnotation: TypeAnnotation): TypeCastExpression;
1695export function typeParameter(bound?: TypeAnnotation | null, _default?: FlowType | null, variance?: Variance | null, name?: string | null): TypeParameter;
1696export function typeParameterDeclaration(params: Array<TypeParameter>): TypeParameterDeclaration;
1697export function typeParameterInstantiation(params: Array<FlowType>): TypeParameterInstantiation;
1698export function unionTypeAnnotation(types: Array<FlowType>): UnionTypeAnnotation;
1699export function variance(kind: "minus" | "plus"): Variance;
1700export function voidTypeAnnotation(): VoidTypeAnnotation;
1701export function jsxAttribute(name: JSXIdentifier | JSXNamespacedName, value?: JSXElement | JSXFragment | StringLiteral | JSXExpressionContainer | null): JSXAttribute;
1702export function jsxClosingElement(name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName): JSXClosingElement;
1703export function jsxElement(openingElement: JSXOpeningElement, closingElement: JSXClosingElement | null | undefined, children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>, selfClosing: any): JSXElement;
1704export function jsxEmptyExpression(): JSXEmptyExpression;
1705export function jsxExpressionContainer(expression: Expression | JSXEmptyExpression): JSXExpressionContainer;
1706export function jsxSpreadChild(expression: Expression): JSXSpreadChild;
1707export function jsxIdentifier(name: string): JSXIdentifier;
1708export function jsxMemberExpression(object: JSXMemberExpression | JSXIdentifier, property: JSXIdentifier): JSXMemberExpression;
1709export function jsxNamespacedName(namespace: JSXIdentifier, name: JSXIdentifier): JSXNamespacedName;
1710export function jsxOpeningElement(name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName, attributes: Array<JSXAttribute | JSXSpreadAttribute>, selfClosing?: boolean, typeParameters?: TypeParameterInstantiation | TSTypeParameterInstantiation | null): JSXOpeningElement;
1711export function jsxSpreadAttribute(argument: Expression): JSXSpreadAttribute;
1712export function jsxText(value: string): JSXText;
1713export function jsxFragment(openingFragment: JSXOpeningFragment, closingFragment: JSXClosingFragment, children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>): JSXFragment;
1714export function jsxOpeningFragment(): JSXOpeningFragment;
1715export function jsxClosingFragment(): JSXClosingFragment;
1716export function noop(): Noop;
1717export function placeholder(expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern", name: Identifier): Placeholder;
1718export function v8IntrinsicIdentifier(name: string): V8IntrinsicIdentifier;
1719export function argumentPlaceholder(): ArgumentPlaceholder;
1720export function awaitExpression(argument: Expression): AwaitExpression;
1721export function bindExpression(object: any, callee: any): BindExpression;
1722export function classProperty(key: Identifier | StringLiteral | NumericLiteral | Expression, value?: Expression | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null, decorators?: Array<Decorator> | null, computed?: boolean, _static?: boolean, abstract?: boolean | null, accessibility?: "public" | "private" | "protected" | null, definite?: boolean | null, optional?: boolean | null, readonly?: boolean | null): ClassProperty;
1723export function optionalMemberExpression(object: Expression, property: any, computed: boolean | undefined, optional: boolean): OptionalMemberExpression;
1724export function pipelineTopicExpression(expression: Expression): PipelineTopicExpression;
1725export function pipelineBareFunction(callee: Expression): PipelineBareFunction;
1726export function pipelinePrimaryTopicReference(): PipelinePrimaryTopicReference;
1727export function optionalCallExpression(callee: Expression, _arguments: Array<Expression | SpreadElement | JSXNamespacedName>, optional: boolean, typeArguments?: TypeParameterInstantiation | null, typeParameters?: TSTypeParameterInstantiation | null): OptionalCallExpression;
1728export function classPrivateProperty(key: PrivateName, value?: Expression | null, decorators?: Array<Decorator> | null): ClassPrivateProperty;
1729export function classPrivateMethod(kind: "get" | "set" | "method" | "constructor" | undefined, key: PrivateName, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, _static?: boolean, abstract?: boolean | null, access?: "public" | "private" | "protected" | null, accessibility?: "public" | "private" | "protected" | null, async?: boolean, computed?: boolean, decorators?: Array<Decorator> | null, generator?: boolean, optional?: boolean | null, returnType?: any | null, typeParameters?: any | null): ClassPrivateMethod;
1730declare function _import(): Import;
1731export { _import as import}
1732export function decorator(expression: Expression): Decorator;
1733export function doExpression(body: BlockStatement): DoExpression;
1734export function exportDefaultSpecifier(exported: Identifier): ExportDefaultSpecifier;
1735export function exportNamespaceSpecifier(exported: Identifier): ExportNamespaceSpecifier;
1736export function privateName(id: Identifier): PrivateName;
1737export function bigIntLiteral(value: string): BigIntLiteral;
1738export function tsParameterProperty(parameter: Identifier | AssignmentPattern, accessibility?: "public" | "private" | "protected" | null, readonly?: boolean | null): TSParameterProperty;
1739export function tsDeclareFunction(id: Identifier | null | undefined, typeParameters: TSTypeParameterDeclaration | Noop | null | undefined, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, returnType?: TSTypeAnnotation | Noop | null, async?: boolean, declare?: boolean | null, generator?: boolean): TSDeclareFunction;
1740export function tsDeclareMethod(decorators: Array<Decorator> | null | undefined, key: Identifier | StringLiteral | NumericLiteral | Expression, typeParameters: TSTypeParameterDeclaration | Noop | null | undefined, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, returnType?: TSTypeAnnotation | Noop | null, abstract?: boolean | null, access?: "public" | "private" | "protected" | null, accessibility?: "public" | "private" | "protected" | null, async?: boolean, computed?: boolean, generator?: boolean, kind?: "get" | "set" | "method" | "constructor", optional?: boolean | null, _static?: boolean): TSDeclareMethod;
1741export function tsQualifiedName(left: TSEntityName, right: Identifier): TSQualifiedName;
1742export function tsCallSignatureDeclaration(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSCallSignatureDeclaration;
1743export function tsConstructSignatureDeclaration(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSConstructSignatureDeclaration;
1744export function tsPropertySignature(key: Expression, typeAnnotation?: TSTypeAnnotation | null, initializer?: Expression | null, computed?: boolean | null, optional?: boolean | null, readonly?: boolean | null): TSPropertySignature;
1745export function tsMethodSignature(key: Expression, typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null, computed?: boolean | null, optional?: boolean | null): TSMethodSignature;
1746export function tsIndexSignature(parameters: Array<Identifier>, typeAnnotation?: TSTypeAnnotation | null, readonly?: boolean | null): TSIndexSignature;
1747export function tsAnyKeyword(): TSAnyKeyword;
1748export function tsBooleanKeyword(): TSBooleanKeyword;
1749export function tsBigIntKeyword(): TSBigIntKeyword;
1750export function tsNeverKeyword(): TSNeverKeyword;
1751export function tsNullKeyword(): TSNullKeyword;
1752export function tsNumberKeyword(): TSNumberKeyword;
1753export function tsObjectKeyword(): TSObjectKeyword;
1754export function tsStringKeyword(): TSStringKeyword;
1755export function tsSymbolKeyword(): TSSymbolKeyword;
1756export function tsUndefinedKeyword(): TSUndefinedKeyword;
1757export function tsUnknownKeyword(): TSUnknownKeyword;
1758export function tsVoidKeyword(): TSVoidKeyword;
1759export function tsThisType(): TSThisType;
1760export function tsFunctionType(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSFunctionType;
1761export function tsConstructorType(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSConstructorType;
1762export function tsTypeReference(typeName: TSEntityName, typeParameters?: TSTypeParameterInstantiation | null): TSTypeReference;
1763export function tsTypePredicate(parameterName: Identifier | TSThisType, typeAnnotation: TSTypeAnnotation): TSTypePredicate;
1764export function tsTypeQuery(exprName: TSEntityName | TSImportType): TSTypeQuery;
1765export function tsTypeLiteral(members: Array<TSTypeElement>): TSTypeLiteral;
1766export function tsArrayType(elementType: TSType): TSArrayType;
1767export function tsTupleType(elementTypes: Array<TSType>): TSTupleType;
1768export function tsOptionalType(typeAnnotation: TSType): TSOptionalType;
1769export function tsRestType(typeAnnotation: TSType): TSRestType;
1770export function tsUnionType(types: Array<TSType>): TSUnionType;
1771export function tsIntersectionType(types: Array<TSType>): TSIntersectionType;
1772export function tsConditionalType(checkType: TSType, extendsType: TSType, trueType: TSType, falseType: TSType): TSConditionalType;
1773export function tsInferType(typeParameter: TSTypeParameter): TSInferType;
1774export function tsParenthesizedType(typeAnnotation: TSType): TSParenthesizedType;
1775export function tsTypeOperator(typeAnnotation: TSType, operator?: string | null): TSTypeOperator;
1776export function tsIndexedAccessType(objectType: TSType, indexType: TSType): TSIndexedAccessType;
1777export function tsMappedType(typeParameter: TSTypeParameter, typeAnnotation?: TSType | null, optional?: boolean | null, readonly?: boolean | null): TSMappedType;
1778export function tsLiteralType(literal: NumericLiteral | StringLiteral | BooleanLiteral): TSLiteralType;
1779export function tsExpressionWithTypeArguments(expression: TSEntityName, typeParameters?: TSTypeParameterInstantiation | null): TSExpressionWithTypeArguments;
1780export function tsInterfaceDeclaration(id: Identifier, typeParameters: TSTypeParameterDeclaration | null | undefined, _extends: Array<TSExpressionWithTypeArguments> | null | undefined, body: TSInterfaceBody, declare?: boolean | null): TSInterfaceDeclaration;
1781export function tsInterfaceBody(body: Array<TSTypeElement>): TSInterfaceBody;
1782export function tsTypeAliasDeclaration(id: Identifier, typeParameters: TSTypeParameterDeclaration | null | undefined, typeAnnotation: TSType, declare?: boolean | null): TSTypeAliasDeclaration;
1783export function tsAsExpression(expression: Expression, typeAnnotation: TSType): TSAsExpression;
1784export function tsTypeAssertion(typeAnnotation: TSType, expression: Expression): TSTypeAssertion;
1785export function tsEnumDeclaration(id: Identifier, members: Array<TSEnumMember>, _const?: boolean | null, declare?: boolean | null, initializer?: Expression | null): TSEnumDeclaration;
1786export function tsEnumMember(id: Identifier | StringLiteral, initializer?: Expression | null): TSEnumMember;
1787export function tsModuleDeclaration(id: Identifier | StringLiteral, body: TSModuleBlock | TSModuleDeclaration, declare?: boolean | null, global?: boolean | null): TSModuleDeclaration;
1788export function tsModuleBlock(body: Array<Statement>): TSModuleBlock;
1789export function tsImportType(argument: StringLiteral, qualifier?: TSEntityName | null, typeParameters?: TSTypeParameterInstantiation | null): TSImportType;
1790export function tsImportEqualsDeclaration(id: Identifier, moduleReference: TSEntityName | TSExternalModuleReference, isExport?: boolean | null): TSImportEqualsDeclaration;
1791export function tsExternalModuleReference(expression: StringLiteral): TSExternalModuleReference;
1792export function tsNonNullExpression(expression: Expression): TSNonNullExpression;
1793export function tsExportAssignment(expression: Expression): TSExportAssignment;
1794export function tsNamespaceExportDeclaration(id: Identifier): TSNamespaceExportDeclaration;
1795export function tsTypeAnnotation(typeAnnotation: TSType): TSTypeAnnotation;
1796export function tsTypeParameterInstantiation(params: Array<TSType>): TSTypeParameterInstantiation;
1797export function tsTypeParameterDeclaration(params: Array<TSTypeParameter>): TSTypeParameterDeclaration;
1798export function tsTypeParameter(constraint: TSType | null | undefined, _default: TSType | null | undefined, name: string): TSTypeParameter;
1799export function isAnyTypeAnnotation(node: object | null | undefined, opts?: object | null): node is AnyTypeAnnotation;
1800// export function assertAnyTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is AnyTypeAnnotation;
1801export function isArgumentPlaceholder(node: object | null | undefined, opts?: object | null): node is ArgumentPlaceholder;
1802// export function assertArgumentPlaceholder(node: object | null | undefined, opts?: object | null): asserts node is ArgumentPlaceholder;
1803export function isArrayExpression(node: object | null | undefined, opts?: object | null): node is ArrayExpression;
1804// export function assertArrayExpression(node: object | null | undefined, opts?: object | null): asserts node is ArrayExpression;
1805export function isArrayPattern(node: object | null | undefined, opts?: object | null): node is ArrayPattern;
1806// export function assertArrayPattern(node: object | null | undefined, opts?: object | null): asserts node is ArrayPattern;
1807export function isArrayTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ArrayTypeAnnotation;
1808// export function assertArrayTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ArrayTypeAnnotation;
1809export function isArrowFunctionExpression(node: object | null | undefined, opts?: object | null): node is ArrowFunctionExpression;
1810// export function assertArrowFunctionExpression(node: object | null | undefined, opts?: object | null): asserts node is ArrowFunctionExpression;
1811export function isAssignmentExpression(node: object | null | undefined, opts?: object | null): node is AssignmentExpression;
1812// export function assertAssignmentExpression(node: object | null | undefined, opts?: object | null): asserts node is AssignmentExpression;
1813export function isAssignmentPattern(node: object | null | undefined, opts?: object | null): node is AssignmentPattern;
1814// export function assertAssignmentPattern(node: object | null | undefined, opts?: object | null): asserts node is AssignmentPattern;
1815export function isAwaitExpression(node: object | null | undefined, opts?: object | null): node is AwaitExpression;
1816// export function assertAwaitExpression(node: object | null | undefined, opts?: object | null): asserts node is AwaitExpression;
1817export function isBigIntLiteral(node: object | null | undefined, opts?: object | null): node is BigIntLiteral;
1818// export function assertBigIntLiteral(node: object | null | undefined, opts?: object | null): asserts node is BigIntLiteral;
1819export function isBinary(node: object | null | undefined, opts?: object | null): node is Binary;
1820// export function assertBinary(node: object | null | undefined, opts?: object | null): asserts node is Binary;
1821export function isBinaryExpression(node: object | null | undefined, opts?: object | null): node is BinaryExpression;
1822// export function assertBinaryExpression(node: object | null | undefined, opts?: object | null): asserts node is BinaryExpression;
1823export function isBindExpression(node: object | null | undefined, opts?: object | null): node is BindExpression;
1824// export function assertBindExpression(node: object | null | undefined, opts?: object | null): asserts node is BindExpression;
1825export function isBlock(node: object | null | undefined, opts?: object | null): node is Block;
1826// export function assertBlock(node: object | null | undefined, opts?: object | null): asserts node is Block;
1827export function isBlockParent(node: object | null | undefined, opts?: object | null): node is BlockParent;
1828// export function assertBlockParent(node: object | null | undefined, opts?: object | null): asserts node is BlockParent;
1829export function isBlockStatement(node: object | null | undefined, opts?: object | null): node is BlockStatement;
1830// export function assertBlockStatement(node: object | null | undefined, opts?: object | null): asserts node is BlockStatement;
1831export function isBooleanLiteral(node: object | null | undefined, opts?: object | null): node is BooleanLiteral;
1832// export function assertBooleanLiteral(node: object | null | undefined, opts?: object | null): asserts node is BooleanLiteral;
1833export function isBooleanLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is BooleanLiteralTypeAnnotation;
1834// export function assertBooleanLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is BooleanLiteralTypeAnnotation;
1835export function isBooleanTypeAnnotation(node: object | null | undefined, opts?: object | null): node is BooleanTypeAnnotation;
1836// export function assertBooleanTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is BooleanTypeAnnotation;
1837export function isBreakStatement(node: object | null | undefined, opts?: object | null): node is BreakStatement;
1838// export function assertBreakStatement(node: object | null | undefined, opts?: object | null): asserts node is BreakStatement;
1839export function isCallExpression(node: object | null | undefined, opts?: object | null): node is CallExpression;
1840// export function assertCallExpression(node: object | null | undefined, opts?: object | null): asserts node is CallExpression;
1841export function isCatchClause(node: object | null | undefined, opts?: object | null): node is CatchClause;
1842// export function assertCatchClause(node: object | null | undefined, opts?: object | null): asserts node is CatchClause;
1843export function isClass(node: object | null | undefined, opts?: object | null): node is Class;
1844// export function assertClass(node: object | null | undefined, opts?: object | null): asserts node is Class;
1845export function isClassBody(node: object | null | undefined, opts?: object | null): node is ClassBody;
1846// export function assertClassBody(node: object | null | undefined, opts?: object | null): asserts node is ClassBody;
1847export function isClassDeclaration(node: object | null | undefined, opts?: object | null): node is ClassDeclaration;
1848// export function assertClassDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ClassDeclaration;
1849export function isClassExpression(node: object | null | undefined, opts?: object | null): node is ClassExpression;
1850// export function assertClassExpression(node: object | null | undefined, opts?: object | null): asserts node is ClassExpression;
1851export function isClassImplements(node: object | null | undefined, opts?: object | null): node is ClassImplements;
1852// export function assertClassImplements(node: object | null | undefined, opts?: object | null): asserts node is ClassImplements;
1853export function isClassMethod(node: object | null | undefined, opts?: object | null): node is ClassMethod;
1854// export function assertClassMethod(node: object | null | undefined, opts?: object | null): asserts node is ClassMethod;
1855export function isClassPrivateMethod(node: object | null | undefined, opts?: object | null): node is ClassPrivateMethod;
1856// export function assertClassPrivateMethod(node: object | null | undefined, opts?: object | null): asserts node is ClassPrivateMethod;
1857export function isClassPrivateProperty(node: object | null | undefined, opts?: object | null): node is ClassPrivateProperty;
1858// export function assertClassPrivateProperty(node: object | null | undefined, opts?: object | null): asserts node is ClassPrivateProperty;
1859export function isClassProperty(node: object | null | undefined, opts?: object | null): node is ClassProperty;
1860// export function assertClassProperty(node: object | null | undefined, opts?: object | null): asserts node is ClassProperty;
1861export function isCompletionStatement(node: object | null | undefined, opts?: object | null): node is CompletionStatement;
1862// export function assertCompletionStatement(node: object | null | undefined, opts?: object | null): asserts node is CompletionStatement;
1863export function isConditional(node: object | null | undefined, opts?: object | null): node is Conditional;
1864// export function assertConditional(node: object | null | undefined, opts?: object | null): asserts node is Conditional;
1865export function isConditionalExpression(node: object | null | undefined, opts?: object | null): node is ConditionalExpression;
1866// export function assertConditionalExpression(node: object | null | undefined, opts?: object | null): asserts node is ConditionalExpression;
1867export function isContinueStatement(node: object | null | undefined, opts?: object | null): node is ContinueStatement;
1868// export function assertContinueStatement(node: object | null | undefined, opts?: object | null): asserts node is ContinueStatement;
1869export function isDebuggerStatement(node: object | null | undefined, opts?: object | null): node is DebuggerStatement;
1870// export function assertDebuggerStatement(node: object | null | undefined, opts?: object | null): asserts node is DebuggerStatement;
1871export function isDeclaration(node: object | null | undefined, opts?: object | null): node is Declaration;
1872// export function assertDeclaration(node: object | null | undefined, opts?: object | null): asserts node is Declaration;
1873export function isDeclareClass(node: object | null | undefined, opts?: object | null): node is DeclareClass;
1874// export function assertDeclareClass(node: object | null | undefined, opts?: object | null): asserts node is DeclareClass;
1875export function isDeclareExportAllDeclaration(node: object | null | undefined, opts?: object | null): node is DeclareExportAllDeclaration;
1876// export function assertDeclareExportAllDeclaration(node: object | null | undefined, opts?: object | null): asserts node is DeclareExportAllDeclaration;
1877export function isDeclareExportDeclaration(node: object | null | undefined, opts?: object | null): node is DeclareExportDeclaration;
1878// export function assertDeclareExportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is DeclareExportDeclaration;
1879export function isDeclareFunction(node: object | null | undefined, opts?: object | null): node is DeclareFunction;
1880// export function assertDeclareFunction(node: object | null | undefined, opts?: object | null): asserts node is DeclareFunction;
1881export function isDeclareInterface(node: object | null | undefined, opts?: object | null): node is DeclareInterface;
1882// export function assertDeclareInterface(node: object | null | undefined, opts?: object | null): asserts node is DeclareInterface;
1883export function isDeclareModule(node: object | null | undefined, opts?: object | null): node is DeclareModule;
1884// export function assertDeclareModule(node: object | null | undefined, opts?: object | null): asserts node is DeclareModule;
1885export function isDeclareModuleExports(node: object | null | undefined, opts?: object | null): node is DeclareModuleExports;
1886// export function assertDeclareModuleExports(node: object | null | undefined, opts?: object | null): asserts node is DeclareModuleExports;
1887export function isDeclareOpaqueType(node: object | null | undefined, opts?: object | null): node is DeclareOpaqueType;
1888// export function assertDeclareOpaqueType(node: object | null | undefined, opts?: object | null): asserts node is DeclareOpaqueType;
1889export function isDeclareTypeAlias(node: object | null | undefined, opts?: object | null): node is DeclareTypeAlias;
1890// export function assertDeclareTypeAlias(node: object | null | undefined, opts?: object | null): asserts node is DeclareTypeAlias;
1891export function isDeclareVariable(node: object | null | undefined, opts?: object | null): node is DeclareVariable;
1892// export function assertDeclareVariable(node: object | null | undefined, opts?: object | null): asserts node is DeclareVariable;
1893export function isDeclaredPredicate(node: object | null | undefined, opts?: object | null): node is DeclaredPredicate;
1894// export function assertDeclaredPredicate(node: object | null | undefined, opts?: object | null): asserts node is DeclaredPredicate;
1895export function isDecorator(node: object | null | undefined, opts?: object | null): node is Decorator;
1896// export function assertDecorator(node: object | null | undefined, opts?: object | null): asserts node is Decorator;
1897export function isDirective(node: object | null | undefined, opts?: object | null): node is Directive;
1898// export function assertDirective(node: object | null | undefined, opts?: object | null): asserts node is Directive;
1899export function isDirectiveLiteral(node: object | null | undefined, opts?: object | null): node is DirectiveLiteral;
1900// export function assertDirectiveLiteral(node: object | null | undefined, opts?: object | null): asserts node is DirectiveLiteral;
1901export function isDoExpression(node: object | null | undefined, opts?: object | null): node is DoExpression;
1902// export function assertDoExpression(node: object | null | undefined, opts?: object | null): asserts node is DoExpression;
1903export function isDoWhileStatement(node: object | null | undefined, opts?: object | null): node is DoWhileStatement;
1904// export function assertDoWhileStatement(node: object | null | undefined, opts?: object | null): asserts node is DoWhileStatement;
1905export function isEmptyStatement(node: object | null | undefined, opts?: object | null): node is EmptyStatement;
1906// export function assertEmptyStatement(node: object | null | undefined, opts?: object | null): asserts node is EmptyStatement;
1907export function isEmptyTypeAnnotation(node: object | null | undefined, opts?: object | null): node is EmptyTypeAnnotation;
1908// export function assertEmptyTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is EmptyTypeAnnotation;
1909export function isExistsTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ExistsTypeAnnotation;
1910// export function assertExistsTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ExistsTypeAnnotation;
1911export function isExportAllDeclaration(node: object | null | undefined, opts?: object | null): node is ExportAllDeclaration;
1912// export function assertExportAllDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportAllDeclaration;
1913export function isExportDeclaration(node: object | null | undefined, opts?: object | null): node is ExportDeclaration;
1914// export function assertExportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportDeclaration;
1915export function isExportDefaultDeclaration(node: object | null | undefined, opts?: object | null): node is ExportDefaultDeclaration;
1916// export function assertExportDefaultDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportDefaultDeclaration;
1917export function isExportDefaultSpecifier(node: object | null | undefined, opts?: object | null): node is ExportDefaultSpecifier;
1918// export function assertExportDefaultSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ExportDefaultSpecifier;
1919export function isExportNamedDeclaration(node: object | null | undefined, opts?: object | null): node is ExportNamedDeclaration;
1920// export function assertExportNamedDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportNamedDeclaration;
1921export function isExportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): node is ExportNamespaceSpecifier;
1922// export function assertExportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ExportNamespaceSpecifier;
1923export function isExportSpecifier(node: object | null | undefined, opts?: object | null): node is ExportSpecifier;
1924// export function assertExportSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ExportSpecifier;
1925export function isExpression(node: object | null | undefined, opts?: object | null): node is Expression;
1926// export function assertExpression(node: object | null | undefined, opts?: object | null): asserts node is Expression;
1927export function isExpressionStatement(node: object | null | undefined, opts?: object | null): node is ExpressionStatement;
1928// export function assertExpressionStatement(node: object | null | undefined, opts?: object | null): asserts node is ExpressionStatement;
1929export function isExpressionWrapper(node: object | null | undefined, opts?: object | null): node is ExpressionWrapper;
1930// export function assertExpressionWrapper(node: object | null | undefined, opts?: object | null): asserts node is ExpressionWrapper;
1931export function isFile(node: object | null | undefined, opts?: object | null): node is File;
1932// export function assertFile(node: object | null | undefined, opts?: object | null): asserts node is File;
1933export function isFlow(node: object | null | undefined, opts?: object | null): node is Flow;
1934// export function assertFlow(node: object | null | undefined, opts?: object | null): asserts node is Flow;
1935export function isFlowBaseAnnotation(node: object | null | undefined, opts?: object | null): node is FlowBaseAnnotation;
1936// export function assertFlowBaseAnnotation(node: object | null | undefined, opts?: object | null): asserts node is FlowBaseAnnotation;
1937export function isFlowDeclaration(node: object | null | undefined, opts?: object | null): node is FlowDeclaration;
1938// export function assertFlowDeclaration(node: object | null | undefined, opts?: object | null): asserts node is FlowDeclaration;
1939export function isFlowPredicate(node: object | null | undefined, opts?: object | null): node is FlowPredicate;
1940// export function assertFlowPredicate(node: object | null | undefined, opts?: object | null): asserts node is FlowPredicate;
1941export function isFlowType(node: object | null | undefined, opts?: object | null): node is FlowType;
1942// export function assertFlowType(node: object | null | undefined, opts?: object | null): asserts node is FlowType;
1943export function isFor(node: object | null | undefined, opts?: object | null): node is For;
1944// export function assertFor(node: object | null | undefined, opts?: object | null): asserts node is For;
1945export function isForInStatement(node: object | null | undefined, opts?: object | null): node is ForInStatement;
1946// export function assertForInStatement(node: object | null | undefined, opts?: object | null): asserts node is ForInStatement;
1947export function isForOfStatement(node: object | null | undefined, opts?: object | null): node is ForOfStatement;
1948// export function assertForOfStatement(node: object | null | undefined, opts?: object | null): asserts node is ForOfStatement;
1949export function isForStatement(node: object | null | undefined, opts?: object | null): node is ForStatement;
1950// export function assertForStatement(node: object | null | undefined, opts?: object | null): asserts node is ForStatement;
1951export function isForXStatement(node: object | null | undefined, opts?: object | null): node is ForXStatement;
1952// export function assertForXStatement(node: object | null | undefined, opts?: object | null): asserts node is ForXStatement;
1953export function isFunction(node: object | null | undefined, opts?: object | null): node is Function;
1954// export function assertFunction(node: object | null | undefined, opts?: object | null): asserts node is Function;
1955export function isFunctionDeclaration(node: object | null | undefined, opts?: object | null): node is FunctionDeclaration;
1956// export function assertFunctionDeclaration(node: object | null | undefined, opts?: object | null): asserts node is FunctionDeclaration;
1957export function isFunctionExpression(node: object | null | undefined, opts?: object | null): node is FunctionExpression;
1958// export function assertFunctionExpression(node: object | null | undefined, opts?: object | null): asserts node is FunctionExpression;
1959export function isFunctionParent(node: object | null | undefined, opts?: object | null): node is FunctionParent;
1960// export function assertFunctionParent(node: object | null | undefined, opts?: object | null): asserts node is FunctionParent;
1961export function isFunctionTypeAnnotation(node: object | null | undefined, opts?: object | null): node is FunctionTypeAnnotation;
1962// export function assertFunctionTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is FunctionTypeAnnotation;
1963export function isFunctionTypeParam(node: object | null | undefined, opts?: object | null): node is FunctionTypeParam;
1964// export function assertFunctionTypeParam(node: object | null | undefined, opts?: object | null): asserts node is FunctionTypeParam;
1965export function isGenericTypeAnnotation(node: object | null | undefined, opts?: object | null): node is GenericTypeAnnotation;
1966// export function assertGenericTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is GenericTypeAnnotation;
1967export function isIdentifier(node: object | null | undefined, opts?: object | null): node is Identifier;
1968// export function assertIdentifier(node: object | null | undefined, opts?: object | null): asserts node is Identifier;
1969export function isIfStatement(node: object | null | undefined, opts?: object | null): node is IfStatement;
1970// export function assertIfStatement(node: object | null | undefined, opts?: object | null): asserts node is IfStatement;
1971export function isImmutable(node: object | null | undefined, opts?: object | null): node is Immutable;
1972// export function assertImmutable(node: object | null | undefined, opts?: object | null): asserts node is Immutable;
1973export function isImport(node: object | null | undefined, opts?: object | null): node is Import;
1974// export function assertImport(node: object | null | undefined, opts?: object | null): asserts node is Import;
1975export function isImportDeclaration(node: object | null | undefined, opts?: object | null): node is ImportDeclaration;
1976// export function assertImportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ImportDeclaration;
1977export function isImportDefaultSpecifier(node: object | null | undefined, opts?: object | null): node is ImportDefaultSpecifier;
1978// export function assertImportDefaultSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ImportDefaultSpecifier;
1979export function isImportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): node is ImportNamespaceSpecifier;
1980// export function assertImportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ImportNamespaceSpecifier;
1981export function isImportSpecifier(node: object | null | undefined, opts?: object | null): node is ImportSpecifier;
1982// export function assertImportSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ImportSpecifier;
1983export function isInferredPredicate(node: object | null | undefined, opts?: object | null): node is InferredPredicate;
1984// export function assertInferredPredicate(node: object | null | undefined, opts?: object | null): asserts node is InferredPredicate;
1985export function isInterfaceDeclaration(node: object | null | undefined, opts?: object | null): node is InterfaceDeclaration;
1986// export function assertInterfaceDeclaration(node: object | null | undefined, opts?: object | null): asserts node is InterfaceDeclaration;
1987export function isInterfaceExtends(node: object | null | undefined, opts?: object | null): node is InterfaceExtends;
1988// export function assertInterfaceExtends(node: object | null | undefined, opts?: object | null): asserts node is InterfaceExtends;
1989export function isInterfaceTypeAnnotation(node: object | null | undefined, opts?: object | null): node is InterfaceTypeAnnotation;
1990// export function assertInterfaceTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is InterfaceTypeAnnotation;
1991export function isInterpreterDirective(node: object | null | undefined, opts?: object | null): node is InterpreterDirective;
1992// export function assertInterpreterDirective(node: object | null | undefined, opts?: object | null): asserts node is InterpreterDirective;
1993export function isIntersectionTypeAnnotation(node: object | null | undefined, opts?: object | null): node is IntersectionTypeAnnotation;
1994// export function assertIntersectionTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is IntersectionTypeAnnotation;
1995export function isJSX(node: object | null | undefined, opts?: object | null): node is JSX;
1996// export function assertJSX(node: object | null | undefined, opts?: object | null): asserts node is JSX;
1997export function isJSXAttribute(node: object | null | undefined, opts?: object | null): node is JSXAttribute;
1998// export function assertJSXAttribute(node: object | null | undefined, opts?: object | null): asserts node is JSXAttribute;
1999export function isJSXClosingElement(node: object | null | undefined, opts?: object | null): node is JSXClosingElement;
2000// export function assertJSXClosingElement(node: object | null | undefined, opts?: object | null): asserts node is JSXClosingElement;
2001export function isJSXClosingFragment(node: object | null | undefined, opts?: object | null): node is JSXClosingFragment;
2002// export function assertJSXClosingFragment(node: object | null | undefined, opts?: object | null): asserts node is JSXClosingFragment;
2003export function isJSXElement(node: object | null | undefined, opts?: object | null): node is JSXElement;
2004// export function assertJSXElement(node: object | null | undefined, opts?: object | null): asserts node is JSXElement;
2005export function isJSXEmptyExpression(node: object | null | undefined, opts?: object | null): node is JSXEmptyExpression;
2006// export function assertJSXEmptyExpression(node: object | null | undefined, opts?: object | null): asserts node is JSXEmptyExpression;
2007export function isJSXExpressionContainer(node: object | null | undefined, opts?: object | null): node is JSXExpressionContainer;
2008// export function assertJSXExpressionContainer(node: object | null | undefined, opts?: object | null): asserts node is JSXExpressionContainer;
2009export function isJSXFragment(node: object | null | undefined, opts?: object | null): node is JSXFragment;
2010// export function assertJSXFragment(node: object | null | undefined, opts?: object | null): asserts node is JSXFragment;
2011export function isJSXIdentifier(node: object | null | undefined, opts?: object | null): node is JSXIdentifier;
2012// export function assertJSXIdentifier(node: object | null | undefined, opts?: object | null): asserts node is JSXIdentifier;
2013export function isJSXMemberExpression(node: object | null | undefined, opts?: object | null): node is JSXMemberExpression;
2014// export function assertJSXMemberExpression(node: object | null | undefined, opts?: object | null): asserts node is JSXMemberExpression;
2015export function isJSXNamespacedName(node: object | null | undefined, opts?: object | null): node is JSXNamespacedName;
2016// export function assertJSXNamespacedName(node: object | null | undefined, opts?: object | null): asserts node is JSXNamespacedName;
2017export function isJSXOpeningElement(node: object | null | undefined, opts?: object | null): node is JSXOpeningElement;
2018// export function assertJSXOpeningElement(node: object | null | undefined, opts?: object | null): asserts node is JSXOpeningElement;
2019export function isJSXOpeningFragment(node: object | null | undefined, opts?: object | null): node is JSXOpeningFragment;
2020// export function assertJSXOpeningFragment(node: object | null | undefined, opts?: object | null): asserts node is JSXOpeningFragment;
2021export function isJSXSpreadAttribute(node: object | null | undefined, opts?: object | null): node is JSXSpreadAttribute;
2022// export function assertJSXSpreadAttribute(node: object | null | undefined, opts?: object | null): asserts node is JSXSpreadAttribute;
2023export function isJSXSpreadChild(node: object | null | undefined, opts?: object | null): node is JSXSpreadChild;
2024// export function assertJSXSpreadChild(node: object | null | undefined, opts?: object | null): asserts node is JSXSpreadChild;
2025export function isJSXText(node: object | null | undefined, opts?: object | null): node is JSXText;
2026// export function assertJSXText(node: object | null | undefined, opts?: object | null): asserts node is JSXText;
2027export function isLVal(node: object | null | undefined, opts?: object | null): node is LVal;
2028// export function assertLVal(node: object | null | undefined, opts?: object | null): asserts node is LVal;
2029export function isLabeledStatement(node: object | null | undefined, opts?: object | null): node is LabeledStatement;
2030// export function assertLabeledStatement(node: object | null | undefined, opts?: object | null): asserts node is LabeledStatement;
2031export function isLiteral(node: object | null | undefined, opts?: object | null): node is Literal;
2032// export function assertLiteral(node: object | null | undefined, opts?: object | null): asserts node is Literal;
2033export function isLogicalExpression(node: object | null | undefined, opts?: object | null): node is LogicalExpression;
2034// export function assertLogicalExpression(node: object | null | undefined, opts?: object | null): asserts node is LogicalExpression;
2035export function isLoop(node: object | null | undefined, opts?: object | null): node is Loop;
2036// export function assertLoop(node: object | null | undefined, opts?: object | null): asserts node is Loop;
2037export function isMemberExpression(node: object | null | undefined, opts?: object | null): node is MemberExpression;
2038// export function assertMemberExpression(node: object | null | undefined, opts?: object | null): asserts node is MemberExpression;
2039export function isMetaProperty(node: object | null | undefined, opts?: object | null): node is MetaProperty;
2040// export function assertMetaProperty(node: object | null | undefined, opts?: object | null): asserts node is MetaProperty;
2041export function isMethod(node: object | null | undefined, opts?: object | null): node is Method;
2042// export function assertMethod(node: object | null | undefined, opts?: object | null): asserts node is Method;
2043export function isMixedTypeAnnotation(node: object | null | undefined, opts?: object | null): node is MixedTypeAnnotation;
2044// export function assertMixedTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is MixedTypeAnnotation;
2045export function isModuleDeclaration(node: object | null | undefined, opts?: object | null): node is ModuleDeclaration;
2046// export function assertModuleDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ModuleDeclaration;
2047export function isModuleSpecifier(node: object | null | undefined, opts?: object | null): node is ModuleSpecifier;
2048// export function assertModuleSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ModuleSpecifier;
2049export function isNewExpression(node: object | null | undefined, opts?: object | null): node is NewExpression;
2050// export function assertNewExpression(node: object | null | undefined, opts?: object | null): asserts node is NewExpression;
2051export function isNoop(node: object | null | undefined, opts?: object | null): node is Noop;
2052// export function assertNoop(node: object | null | undefined, opts?: object | null): asserts node is Noop;
2053export function isNullLiteral(node: object | null | undefined, opts?: object | null): node is NullLiteral;
2054// export function assertNullLiteral(node: object | null | undefined, opts?: object | null): asserts node is NullLiteral;
2055export function isNullLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NullLiteralTypeAnnotation;
2056// export function assertNullLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NullLiteralTypeAnnotation;
2057export function isNullableTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NullableTypeAnnotation;
2058// export function assertNullableTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NullableTypeAnnotation;
2059export function isNumberLiteral(node: object | null | undefined, opts?: object | null): boolean;
2060// export function assertNumberLiteral(node: object | null | undefined, opts?: object | null): asserts node;
2061export function isNumberLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NumberLiteralTypeAnnotation;
2062// export function assertNumberLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NumberLiteralTypeAnnotation;
2063export function isNumberTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NumberTypeAnnotation;
2064// export function assertNumberTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NumberTypeAnnotation;
2065export function isNumericLiteral(node: object | null | undefined, opts?: object | null): node is NumericLiteral;
2066// export function assertNumericLiteral(node: object | null | undefined, opts?: object | null): asserts node is NumericLiteral;
2067export function isObjectExpression(node: object | null | undefined, opts?: object | null): node is ObjectExpression;
2068// export function assertObjectExpression(node: object | null | undefined, opts?: object | null): asserts node is ObjectExpression;
2069export function isObjectMember(node: object | null | undefined, opts?: object | null): node is ObjectMember;
2070// export function assertObjectMember(node: object | null | undefined, opts?: object | null): asserts node is ObjectMember;
2071export function isObjectMethod(node: object | null | undefined, opts?: object | null): node is ObjectMethod;
2072// export function assertObjectMethod(node: object | null | undefined, opts?: object | null): asserts node is ObjectMethod;
2073export function isObjectPattern(node: object | null | undefined, opts?: object | null): node is ObjectPattern;
2074// export function assertObjectPattern(node: object | null | undefined, opts?: object | null): asserts node is ObjectPattern;
2075export function isObjectProperty(node: object | null | undefined, opts?: object | null): node is ObjectProperty;
2076// export function assertObjectProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectProperty;
2077export function isObjectTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ObjectTypeAnnotation;
2078// export function assertObjectTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeAnnotation;
2079export function isObjectTypeCallProperty(node: object | null | undefined, opts?: object | null): node is ObjectTypeCallProperty;
2080// export function assertObjectTypeCallProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeCallProperty;
2081export function isObjectTypeIndexer(node: object | null | undefined, opts?: object | null): node is ObjectTypeIndexer;
2082// export function assertObjectTypeIndexer(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeIndexer;
2083export function isObjectTypeInternalSlot(node: object | null | undefined, opts?: object | null): node is ObjectTypeInternalSlot;
2084// export function assertObjectTypeInternalSlot(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeInternalSlot;
2085export function isObjectTypeProperty(node: object | null | undefined, opts?: object | null): node is ObjectTypeProperty;
2086// export function assertObjectTypeProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeProperty;
2087export function isObjectTypeSpreadProperty(node: object | null | undefined, opts?: object | null): node is ObjectTypeSpreadProperty;
2088// export function assertObjectTypeSpreadProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeSpreadProperty;
2089export function isOpaqueType(node: object | null | undefined, opts?: object | null): node is OpaqueType;
2090// export function assertOpaqueType(node: object | null | undefined, opts?: object | null): asserts node is OpaqueType;
2091export function isOptionalCallExpression(node: object | null | undefined, opts?: object | null): node is OptionalCallExpression;
2092// export function assertOptionalCallExpression(node: object | null | undefined, opts?: object | null): asserts node is OptionalCallExpression;
2093export function isOptionalMemberExpression(node: object | null | undefined, opts?: object | null): node is OptionalMemberExpression;
2094// export function assertOptionalMemberExpression(node: object | null | undefined, opts?: object | null): asserts node is OptionalMemberExpression;
2095export function isParenthesizedExpression(node: object | null | undefined, opts?: object | null): node is ParenthesizedExpression;
2096// export function assertParenthesizedExpression(node: object | null | undefined, opts?: object | null): asserts node is ParenthesizedExpression;
2097export function isPattern(node: object | null | undefined, opts?: object | null): node is Pattern;
2098// export function assertPattern(node: object | null | undefined, opts?: object | null): asserts node is Pattern;
2099export function isPatternLike(node: object | null | undefined, opts?: object | null): node is PatternLike;
2100// export function assertPatternLike(node: object | null | undefined, opts?: object | null): asserts node is PatternLike;
2101export function isPipelineBareFunction(node: object | null | undefined, opts?: object | null): node is PipelineBareFunction;
2102// export function assertPipelineBareFunction(node: object | null | undefined, opts?: object | null): asserts node is PipelineBareFunction;
2103export function isPipelinePrimaryTopicReference(node: object | null | undefined, opts?: object | null): node is PipelinePrimaryTopicReference;
2104// export function assertPipelinePrimaryTopicReference(node: object | null | undefined, opts?: object | null): asserts node is PipelinePrimaryTopicReference;
2105export function isPipelineTopicExpression(node: object | null | undefined, opts?: object | null): node is PipelineTopicExpression;
2106// export function assertPipelineTopicExpression(node: object | null | undefined, opts?: object | null): asserts node is PipelineTopicExpression;
2107export function isPlaceholder(node: object | null | undefined, opts?: object | null): node is Placeholder;
2108// export function assertPlaceholder(node: object | null | undefined, opts?: object | null): asserts node is Placeholder;
2109export function isPrivate(node: object | null | undefined, opts?: object | null): node is Private;
2110// export function assertPrivate(node: object | null | undefined, opts?: object | null): asserts node is Private;
2111export function isPrivateName(node: object | null | undefined, opts?: object | null): node is PrivateName;
2112// export function assertPrivateName(node: object | null | undefined, opts?: object | null): asserts node is PrivateName;
2113export function isProgram(node: object | null | undefined, opts?: object | null): node is Program;
2114// export function assertProgram(node: object | null | undefined, opts?: object | null): asserts node is Program;
2115export function isProperty(node: object | null | undefined, opts?: object | null): node is Property;
2116// export function assertProperty(node: object | null | undefined, opts?: object | null): asserts node is Property;
2117export function isPureish(node: object | null | undefined, opts?: object | null): node is Pureish;
2118// export function assertPureish(node: object | null | undefined, opts?: object | null): asserts node is Pureish;
2119export function isQualifiedTypeIdentifier(node: object | null | undefined, opts?: object | null): node is QualifiedTypeIdentifier;
2120// export function assertQualifiedTypeIdentifier(node: object | null | undefined, opts?: object | null): asserts node is QualifiedTypeIdentifier;
2121export function isRegExpLiteral(node: object | null | undefined, opts?: object | null): node is RegExpLiteral;
2122// export function assertRegExpLiteral(node: object | null | undefined, opts?: object | null): asserts node is RegExpLiteral;
2123export function isRegexLiteral(node: object | null | undefined, opts?: object | null): boolean;
2124// export function assertRegexLiteral(node: object | null | undefined, opts?: object | null): asserts node;
2125export function isRestElement(node: object | null | undefined, opts?: object | null): node is RestElement;
2126// export function assertRestElement(node: object | null | undefined, opts?: object | null): asserts node is RestElement;
2127export function isRestProperty(node: object | null | undefined, opts?: object | null): boolean;
2128// export function assertRestProperty(node: object | null | undefined, opts?: object | null): asserts node;
2129export function isReturnStatement(node: object | null | undefined, opts?: object | null): node is ReturnStatement;
2130// export function assertReturnStatement(node: object | null | undefined, opts?: object | null): asserts node is ReturnStatement;
2131export function isScopable(node: object | null | undefined, opts?: object | null): node is Scopable;
2132// export function assertScopable(node: object | null | undefined, opts?: object | null): asserts node is Scopable;
2133export function isSequenceExpression(node: object | null | undefined, opts?: object | null): node is SequenceExpression;
2134// export function assertSequenceExpression(node: object | null | undefined, opts?: object | null): asserts node is SequenceExpression;
2135export function isSpreadElement(node: object | null | undefined, opts?: object | null): node is SpreadElement;
2136// export function assertSpreadElement(node: object | null | undefined, opts?: object | null): asserts node is SpreadElement;
2137export function isSpreadProperty(node: object | null | undefined, opts?: object | null): boolean;
2138// export function assertSpreadProperty(node: object | null | undefined, opts?: object | null): asserts node;
2139export function isStatement(node: object | null | undefined, opts?: object | null): node is Statement;
2140// export function assertStatement(node: object | null | undefined, opts?: object | null): asserts node is Statement;
2141export function isStringLiteral(node: object | null | undefined, opts?: object | null): node is StringLiteral;
2142// export function assertStringLiteral(node: object | null | undefined, opts?: object | null): asserts node is StringLiteral;
2143export function isStringLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is StringLiteralTypeAnnotation;
2144// export function assertStringLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is StringLiteralTypeAnnotation;
2145export function isStringTypeAnnotation(node: object | null | undefined, opts?: object | null): node is StringTypeAnnotation;
2146// export function assertStringTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is StringTypeAnnotation;
2147export function isSuper(node: object | null | undefined, opts?: object | null): node is Super;
2148// export function assertSuper(node: object | null | undefined, opts?: object | null): asserts node is Super;
2149export function isSwitchCase(node: object | null | undefined, opts?: object | null): node is SwitchCase;
2150// export function assertSwitchCase(node: object | null | undefined, opts?: object | null): asserts node is SwitchCase;
2151export function isSwitchStatement(node: object | null | undefined, opts?: object | null): node is SwitchStatement;
2152// export function assertSwitchStatement(node: object | null | undefined, opts?: object | null): asserts node is SwitchStatement;
2153export function isTSAnyKeyword(node: object | null | undefined, opts?: object | null): node is TSAnyKeyword;
2154// export function assertTSAnyKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSAnyKeyword;
2155export function isTSArrayType(node: object | null | undefined, opts?: object | null): node is TSArrayType;
2156// export function assertTSArrayType(node: object | null | undefined, opts?: object | null): asserts node is TSArrayType;
2157export function isTSAsExpression(node: object | null | undefined, opts?: object | null): node is TSAsExpression;
2158// export function assertTSAsExpression(node: object | null | undefined, opts?: object | null): asserts node is TSAsExpression;
2159export function isTSBigIntKeyword(node: object | null | undefined, opts?: object | null): node is TSBigIntKeyword;
2160// export function assertTSBigIntKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSBigIntKeyword;
2161export function isTSBooleanKeyword(node: object | null | undefined, opts?: object | null): node is TSBooleanKeyword;
2162// export function assertTSBooleanKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSBooleanKeyword;
2163export function isTSCallSignatureDeclaration(node: object | null | undefined, opts?: object | null): node is TSCallSignatureDeclaration;
2164// export function assertTSCallSignatureDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSCallSignatureDeclaration;
2165export function isTSConditionalType(node: object | null | undefined, opts?: object | null): node is TSConditionalType;
2166// export function assertTSConditionalType(node: object | null | undefined, opts?: object | null): asserts node is TSConditionalType;
2167export function isTSConstructSignatureDeclaration(node: object | null | undefined, opts?: object | null): node is TSConstructSignatureDeclaration;
2168// export function assertTSConstructSignatureDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSConstructSignatureDeclaration;
2169export function isTSConstructorType(node: object | null | undefined, opts?: object | null): node is TSConstructorType;
2170// export function assertTSConstructorType(node: object | null | undefined, opts?: object | null): asserts node is TSConstructorType;
2171export function isTSDeclareFunction(node: object | null | undefined, opts?: object | null): node is TSDeclareFunction;
2172// export function assertTSDeclareFunction(node: object | null | undefined, opts?: object | null): asserts node is TSDeclareFunction;
2173export function isTSDeclareMethod(node: object | null | undefined, opts?: object | null): node is TSDeclareMethod;
2174// export function assertTSDeclareMethod(node: object | null | undefined, opts?: object | null): asserts node is TSDeclareMethod;
2175export function isTSEntityName(node: object | null | undefined, opts?: object | null): node is TSEntityName;
2176// export function assertTSEntityName(node: object | null | undefined, opts?: object | null): asserts node is TSEntityName;
2177export function isTSEnumDeclaration(node: object | null | undefined, opts?: object | null): node is TSEnumDeclaration;
2178// export function assertTSEnumDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSEnumDeclaration;
2179export function isTSEnumMember(node: object | null | undefined, opts?: object | null): node is TSEnumMember;
2180// export function assertTSEnumMember(node: object | null | undefined, opts?: object | null): asserts node is TSEnumMember;
2181export function isTSExportAssignment(node: object | null | undefined, opts?: object | null): node is TSExportAssignment;
2182// export function assertTSExportAssignment(node: object | null | undefined, opts?: object | null): asserts node is TSExportAssignment;
2183export function isTSExpressionWithTypeArguments(node: object | null | undefined, opts?: object | null): node is TSExpressionWithTypeArguments;
2184// export function assertTSExpressionWithTypeArguments(node: object | null | undefined, opts?: object | null): asserts node is TSExpressionWithTypeArguments;
2185export function isTSExternalModuleReference(node: object | null | undefined, opts?: object | null): node is TSExternalModuleReference;
2186// export function assertTSExternalModuleReference(node: object | null | undefined, opts?: object | null): asserts node is TSExternalModuleReference;
2187export function isTSFunctionType(node: object | null | undefined, opts?: object | null): node is TSFunctionType;
2188// export function assertTSFunctionType(node: object | null | undefined, opts?: object | null): asserts node is TSFunctionType;
2189export function isTSImportEqualsDeclaration(node: object | null | undefined, opts?: object | null): node is TSImportEqualsDeclaration;
2190// export function assertTSImportEqualsDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSImportEqualsDeclaration;
2191export function isTSImportType(node: object | null | undefined, opts?: object | null): node is TSImportType;
2192// export function assertTSImportType(node: object | null | undefined, opts?: object | null): asserts node is TSImportType;
2193export function isTSIndexSignature(node: object | null | undefined, opts?: object | null): node is TSIndexSignature;
2194// export function assertTSIndexSignature(node: object | null | undefined, opts?: object | null): asserts node is TSIndexSignature;
2195export function isTSIndexedAccessType(node: object | null | undefined, opts?: object | null): node is TSIndexedAccessType;
2196// export function assertTSIndexedAccessType(node: object | null | undefined, opts?: object | null): asserts node is TSIndexedAccessType;
2197export function isTSInferType(node: object | null | undefined, opts?: object | null): node is TSInferType;
2198// export function assertTSInferType(node: object | null | undefined, opts?: object | null): asserts node is TSInferType;
2199export function isTSInterfaceBody(node: object | null | undefined, opts?: object | null): node is TSInterfaceBody;
2200// export function assertTSInterfaceBody(node: object | null | undefined, opts?: object | null): asserts node is TSInterfaceBody;
2201export function isTSInterfaceDeclaration(node: object | null | undefined, opts?: object | null): node is TSInterfaceDeclaration;
2202// export function assertTSInterfaceDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSInterfaceDeclaration;
2203export function isTSIntersectionType(node: object | null | undefined, opts?: object | null): node is TSIntersectionType;
2204// export function assertTSIntersectionType(node: object | null | undefined, opts?: object | null): asserts node is TSIntersectionType;
2205export function isTSLiteralType(node: object | null | undefined, opts?: object | null): node is TSLiteralType;
2206// export function assertTSLiteralType(node: object | null | undefined, opts?: object | null): asserts node is TSLiteralType;
2207export function isTSMappedType(node: object | null | undefined, opts?: object | null): node is TSMappedType;
2208// export function assertTSMappedType(node: object | null | undefined, opts?: object | null): asserts node is TSMappedType;
2209export function isTSMethodSignature(node: object | null | undefined, opts?: object | null): node is TSMethodSignature;
2210// export function assertTSMethodSignature(node: object | null | undefined, opts?: object | null): asserts node is TSMethodSignature;
2211export function isTSModuleBlock(node: object | null | undefined, opts?: object | null): node is TSModuleBlock;
2212// export function assertTSModuleBlock(node: object | null | undefined, opts?: object | null): asserts node is TSModuleBlock;
2213export function isTSModuleDeclaration(node: object | null | undefined, opts?: object | null): node is TSModuleDeclaration;
2214// export function assertTSModuleDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSModuleDeclaration;
2215export function isTSNamespaceExportDeclaration(node: object | null | undefined, opts?: object | null): node is TSNamespaceExportDeclaration;
2216// export function assertTSNamespaceExportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSNamespaceExportDeclaration;
2217export function isTSNeverKeyword(node: object | null | undefined, opts?: object | null): node is TSNeverKeyword;
2218// export function assertTSNeverKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSNeverKeyword;
2219export function isTSNonNullExpression(node: object | null | undefined, opts?: object | null): node is TSNonNullExpression;
2220// export function assertTSNonNullExpression(node: object | null | undefined, opts?: object | null): asserts node is TSNonNullExpression;
2221export function isTSNullKeyword(node: object | null | undefined, opts?: object | null): node is TSNullKeyword;
2222// export function assertTSNullKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSNullKeyword;
2223export function isTSNumberKeyword(node: object | null | undefined, opts?: object | null): node is TSNumberKeyword;
2224// export function assertTSNumberKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSNumberKeyword;
2225export function isTSObjectKeyword(node: object | null | undefined, opts?: object | null): node is TSObjectKeyword;
2226// export function assertTSObjectKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSObjectKeyword;
2227export function isTSOptionalType(node: object | null | undefined, opts?: object | null): node is TSOptionalType;
2228// export function assertTSOptionalType(node: object | null | undefined, opts?: object | null): asserts node is TSOptionalType;
2229export function isTSParameterProperty(node: object | null | undefined, opts?: object | null): node is TSParameterProperty;
2230// export function assertTSParameterProperty(node: object | null | undefined, opts?: object | null): asserts node is TSParameterProperty;
2231export function isTSParenthesizedType(node: object | null | undefined, opts?: object | null): node is TSParenthesizedType;
2232// export function assertTSParenthesizedType(node: object | null | undefined, opts?: object | null): asserts node is TSParenthesizedType;
2233export function isTSPropertySignature(node: object | null | undefined, opts?: object | null): node is TSPropertySignature;
2234// export function assertTSPropertySignature(node: object | null | undefined, opts?: object | null): asserts node is TSPropertySignature;
2235export function isTSQualifiedName(node: object | null | undefined, opts?: object | null): node is TSQualifiedName;
2236// export function assertTSQualifiedName(node: object | null | undefined, opts?: object | null): asserts node is TSQualifiedName;
2237export function isTSRestType(node: object | null | undefined, opts?: object | null): node is TSRestType;
2238// export function assertTSRestType(node: object | null | undefined, opts?: object | null): asserts node is TSRestType;
2239export function isTSStringKeyword(node: object | null | undefined, opts?: object | null): node is TSStringKeyword;
2240// export function assertTSStringKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSStringKeyword;
2241export function isTSSymbolKeyword(node: object | null | undefined, opts?: object | null): node is TSSymbolKeyword;
2242// export function assertTSSymbolKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSSymbolKeyword;
2243export function isTSThisType(node: object | null | undefined, opts?: object | null): node is TSThisType;
2244// export function assertTSThisType(node: object | null | undefined, opts?: object | null): asserts node is TSThisType;
2245export function isTSTupleType(node: object | null | undefined, opts?: object | null): node is TSTupleType;
2246// export function assertTSTupleType(node: object | null | undefined, opts?: object | null): asserts node is TSTupleType;
2247export function isTSType(node: object | null | undefined, opts?: object | null): node is TSType;
2248// export function assertTSType(node: object | null | undefined, opts?: object | null): asserts node is TSType;
2249export function isTSTypeAliasDeclaration(node: object | null | undefined, opts?: object | null): node is TSTypeAliasDeclaration;
2250// export function assertTSTypeAliasDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSTypeAliasDeclaration;
2251export function isTSTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TSTypeAnnotation;
2252// export function assertTSTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TSTypeAnnotation;
2253export function isTSTypeAssertion(node: object | null | undefined, opts?: object | null): node is TSTypeAssertion;
2254// export function assertTSTypeAssertion(node: object | null | undefined, opts?: object | null): asserts node is TSTypeAssertion;
2255export function isTSTypeElement(node: object | null | undefined, opts?: object | null): node is TSTypeElement;
2256// export function assertTSTypeElement(node: object | null | undefined, opts?: object | null): asserts node is TSTypeElement;
2257export function isTSTypeLiteral(node: object | null | undefined, opts?: object | null): node is TSTypeLiteral;
2258// export function assertTSTypeLiteral(node: object | null | undefined, opts?: object | null): asserts node is TSTypeLiteral;
2259export function isTSTypeOperator(node: object | null | undefined, opts?: object | null): node is TSTypeOperator;
2260// export function assertTSTypeOperator(node: object | null | undefined, opts?: object | null): asserts node is TSTypeOperator;
2261export function isTSTypeParameter(node: object | null | undefined, opts?: object | null): node is TSTypeParameter;
2262// export function assertTSTypeParameter(node: object | null | undefined, opts?: object | null): asserts node is TSTypeParameter;
2263export function isTSTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): node is TSTypeParameterDeclaration;
2264// export function assertTSTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSTypeParameterDeclaration;
2265export function isTSTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): node is TSTypeParameterInstantiation;
2266// export function assertTSTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): asserts node is TSTypeParameterInstantiation;
2267export function isTSTypePredicate(node: object | null | undefined, opts?: object | null): node is TSTypePredicate;
2268// export function assertTSTypePredicate(node: object | null | undefined, opts?: object | null): asserts node is TSTypePredicate;
2269export function isTSTypeQuery(node: object | null | undefined, opts?: object | null): node is TSTypeQuery;
2270// export function assertTSTypeQuery(node: object | null | undefined, opts?: object | null): asserts node is TSTypeQuery;
2271export function isTSTypeReference(node: object | null | undefined, opts?: object | null): node is TSTypeReference;
2272// export function assertTSTypeReference(node: object | null | undefined, opts?: object | null): asserts node is TSTypeReference;
2273export function isTSUndefinedKeyword(node: object | null | undefined, opts?: object | null): node is TSUndefinedKeyword;
2274// export function assertTSUndefinedKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSUndefinedKeyword;
2275export function isTSUnionType(node: object | null | undefined, opts?: object | null): node is TSUnionType;
2276// export function assertTSUnionType(node: object | null | undefined, opts?: object | null): asserts node is TSUnionType;
2277export function isTSUnknownKeyword(node: object | null | undefined, opts?: object | null): node is TSUnknownKeyword;
2278// export function assertTSUnknownKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSUnknownKeyword;
2279export function isTSVoidKeyword(node: object | null | undefined, opts?: object | null): node is TSVoidKeyword;
2280// export function assertTSVoidKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSVoidKeyword;
2281export function isTaggedTemplateExpression(node: object | null | undefined, opts?: object | null): node is TaggedTemplateExpression;
2282// export function assertTaggedTemplateExpression(node: object | null | undefined, opts?: object | null): asserts node is TaggedTemplateExpression;
2283export function isTemplateElement(node: object | null | undefined, opts?: object | null): node is TemplateElement;
2284// export function assertTemplateElement(node: object | null | undefined, opts?: object | null): asserts node is TemplateElement;
2285export function isTemplateLiteral(node: object | null | undefined, opts?: object | null): node is TemplateLiteral;
2286// export function assertTemplateLiteral(node: object | null | undefined, opts?: object | null): asserts node is TemplateLiteral;
2287export function isTerminatorless(node: object | null | undefined, opts?: object | null): node is Terminatorless;
2288// export function assertTerminatorless(node: object | null | undefined, opts?: object | null): asserts node is Terminatorless;
2289export function isThisExpression(node: object | null | undefined, opts?: object | null): node is ThisExpression;
2290// export function assertThisExpression(node: object | null | undefined, opts?: object | null): asserts node is ThisExpression;
2291export function isThisTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ThisTypeAnnotation;
2292// export function assertThisTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ThisTypeAnnotation;
2293export function isThrowStatement(node: object | null | undefined, opts?: object | null): node is ThrowStatement;
2294// export function assertThrowStatement(node: object | null | undefined, opts?: object | null): asserts node is ThrowStatement;
2295export function isTryStatement(node: object | null | undefined, opts?: object | null): node is TryStatement;
2296// export function assertTryStatement(node: object | null | undefined, opts?: object | null): asserts node is TryStatement;
2297export function isTupleTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TupleTypeAnnotation;
2298// export function assertTupleTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TupleTypeAnnotation;
2299export function isTypeAlias(node: object | null | undefined, opts?: object | null): node is TypeAlias;
2300// export function assertTypeAlias(node: object | null | undefined, opts?: object | null): asserts node is TypeAlias;
2301export function isTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TypeAnnotation;
2302// export function assertTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TypeAnnotation;
2303export function isTypeCastExpression(node: object | null | undefined, opts?: object | null): node is TypeCastExpression;
2304// export function assertTypeCastExpression(node: object | null | undefined, opts?: object | null): asserts node is TypeCastExpression;
2305export function isTypeParameter(node: object | null | undefined, opts?: object | null): node is TypeParameter;
2306// export function assertTypeParameter(node: object | null | undefined, opts?: object | null): asserts node is TypeParameter;
2307export function isTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): node is TypeParameterDeclaration;
2308// export function assertTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TypeParameterDeclaration;
2309export function isTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): node is TypeParameterInstantiation;
2310// export function assertTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): asserts node is TypeParameterInstantiation;
2311export function isTypeofTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TypeofTypeAnnotation;
2312// export function assertTypeofTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TypeofTypeAnnotation;
2313export function isUnaryExpression(node: object | null | undefined, opts?: object | null): node is UnaryExpression;
2314// export function assertUnaryExpression(node: object | null | undefined, opts?: object | null): asserts node is UnaryExpression;
2315export function isUnaryLike(node: object | null | undefined, opts?: object | null): node is UnaryLike;
2316// export function assertUnaryLike(node: object | null | undefined, opts?: object | null): asserts node is UnaryLike;
2317export function isUnionTypeAnnotation(node: object | null | undefined, opts?: object | null): node is UnionTypeAnnotation;
2318// export function assertUnionTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is UnionTypeAnnotation;
2319export function isUpdateExpression(node: object | null | undefined, opts?: object | null): node is UpdateExpression;
2320// export function assertUpdateExpression(node: object | null | undefined, opts?: object | null): asserts node is UpdateExpression;
2321export function isUserWhitespacable(node: object | null | undefined, opts?: object | null): node is UserWhitespacable;
2322// export function assertUserWhitespacable(node: object | null | undefined, opts?: object | null): asserts node is UserWhitespacable;
2323export function isV8IntrinsicIdentifier(node: object | null | undefined, opts?: object | null): node is V8IntrinsicIdentifier;
2324// export function assertV8IntrinsicIdentifier(node: object | null | undefined, opts?: object | null): asserts node is V8IntrinsicIdentifier;
2325export function isVariableDeclaration(node: object | null | undefined, opts?: object | null): node is VariableDeclaration;
2326// export function assertVariableDeclaration(node: object | null | undefined, opts?: object | null): asserts node is VariableDeclaration;
2327export function isVariableDeclarator(node: object | null | undefined, opts?: object | null): node is VariableDeclarator;
2328// export function assertVariableDeclarator(node: object | null | undefined, opts?: object | null): asserts node is VariableDeclarator;
2329export function isVariance(node: object | null | undefined, opts?: object | null): node is Variance;
2330// export function assertVariance(node: object | null | undefined, opts?: object | null): asserts node is Variance;
2331export function isVoidTypeAnnotation(node: object | null | undefined, opts?: object | null): node is VoidTypeAnnotation;
2332// export function assertVoidTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is VoidTypeAnnotation;
2333export function isWhile(node: object | null | undefined, opts?: object | null): node is While;
2334// export function assertWhile(node: object | null | undefined, opts?: object | null): asserts node is While;
2335export function isWhileStatement(node: object | null | undefined, opts?: object | null): node is WhileStatement;
2336// export function assertWhileStatement(node: object | null | undefined, opts?: object | null): asserts node is WhileStatement;
2337export function isWithStatement(node: object | null | undefined, opts?: object | null): node is WithStatement;
2338// export function assertWithStatement(node: object | null | undefined, opts?: object | null): asserts node is WithStatement;
2339export function isYieldExpression(node: object | null | undefined, opts?: object | null): node is YieldExpression;
2340// export function assertYieldExpression(node: object | null | undefined, opts?: object | null): asserts node is YieldExpression;
2341// export function assertNode(obj: any): asserts obj is Node
2342export function createTypeAnnotationBasedOnTypeof(type: 'string' | 'number' | 'undefined' | 'boolean' | 'function' | 'object' | 'symbol'): StringTypeAnnotation | VoidTypeAnnotation | NumberTypeAnnotation | BooleanTypeAnnotation | GenericTypeAnnotation
2343export function createUnionTypeAnnotation<T extends FlowType>(types: [T]): T
2344export function createUnionTypeAnnotation(types: ReadonlyArray<FlowType>): UnionTypeAnnotation
2345export function buildChildren(node: { children: ReadonlyArray<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment | JSXEmptyExpression> }): JSXElement['children']
2346export function clone<T extends Node>(n: T): T;
2347export function cloneDeep<T extends Node>(n: T): T;
2348export function cloneNode<T extends Node>(n: T, deep?: boolean): T;
2349export function cloneWithoutLoc<T extends Node>(n: T): T;
2350export type CommentTypeShorthand = 'leading' | 'inner' | 'trailing'
2351export function addComment<T extends Node>(node: T, type: CommentTypeShorthand, content: string, line?: boolean): T
2352export function addComments<T extends Node>(node: T, type: CommentTypeShorthand, comments: ReadonlyArray<Comment>): T
2353export function inheritInnerComments(node: Node, parent: Node): void
2354export function inheritLeadingComments(node: Node, parent: Node): void
2355export function inheritsComments<T extends Node>(node: T, parent: Node): void
2356export function inheritTrailingComments(node: Node, parent: Node): void
2357export function removeComments<T extends Node>(node: T): T
2358export function ensureBlock(node: Extract<Node, { body: BlockStatement | Statement | Expression }>): BlockStatement
2359export function ensureBlock<K extends keyof Extract<Node, { body: BlockStatement | Statement | Expression }> = 'body'>(node: Extract<Node, Record<K, BlockStatement | Statement | Expression>>, key: K): BlockStatement
2360export function toBindingIdentifierName(name: { toString(): string } | null | undefined): string
2361export function toBlock(node: Statement | Expression, parent?: Function | null): BlockStatement
2362export function toComputedKey<T extends Extract<Node, { computed: boolean | null }>>(node: T, key?: Expression | Identifier): Expression
2363export function toExpression(node: Function): FunctionExpression
2364export function toExpression(node: Class): ClassExpression
2365export function toExpression(node: ExpressionStatement | Expression | Class | Function): Expression
2366export function toIdentifier(name: { toString(): string } | null | undefined): string
2367export function toKeyAlias(node: Method | Property, key?: Node): string
2368export function toSequenceExpression(nodes: ReadonlyArray<Node>, scope: { push(value: { id: LVal; kind: 'var'; init?: Expression}): void; buildUndefinedNode(): Node }): SequenceExpression | undefined
2369export function toStatement(node: AssignmentExpression, ignore?: boolean): ExpressionStatement
2370export function toStatement(node: Statement | AssignmentExpression, ignore?: boolean): Statement
2371export function toStatement(node: Class, ignore: true): ClassDeclaration | undefined
2372export function toStatement(node: Class, ignore?: boolean): ClassDeclaration
2373export function toStatement(node: Function, ignore: true): FunctionDeclaration | undefined
2374export function toStatement(node: Function, ignore?: boolean): FunctionDeclaration
2375export function toStatement(node: Statement | Class | Function | AssignmentExpression, ignore: true): Statement | undefined
2376export function toStatement(node: Statement | Class | Function | AssignmentExpression, ignore?: boolean): Statement
2377export function valueToNode(value: undefined): Identifier
2378export function valueToNode(value: boolean): BooleanLiteral
2379export function valueToNode(value: null): NullLiteral
2380export function valueToNode(value: string): StringLiteral
2381export function valueToNode(value: number): NumericLiteral | BinaryExpression | UnaryExpression
2382export function valueToNode(value: RegExp): RegExpLiteral
2383export function valueToNode(value: ReadonlyArray<undefined | boolean | null | string | number | RegExp | object>): ArrayExpression
2384export function valueToNode(value: object): ObjectExpression
2385export function valueToNode(value: undefined | boolean | null | string | number | RegExp | object): Expression
2386export function removeTypeDuplicates(types: ReadonlyArray<FlowType | false | null | undefined>): FlowType[]
2387export function appendToMemberExpression<T extends Pick<MemberExpression, 'object' | 'property'>>(member: T, append: MemberExpression['property'], computed?: boolean): T
2388export function inherits<T extends Node | null | undefined>(child: T, parent: Node | null | undefined): T
2389export function prependToMemberExpression<T extends Pick<MemberExpression, 'object' | 'property'>>(member: T, prepend: MemberExpression['object']): T
2390export function removeProperties(
2391 n: Node,
2392 opts?: { preserveComments: boolean } | null
2393): void;
2394export function removePropertiesDeep<T extends Node>(
2395 n: T,
2396 opts?: { preserveComments: boolean } | null
2397): T;
2398export function getBindingIdentifiers(node: Node, duplicates: true, outerOnly?: boolean): Record<string, Array<Identifier>>
2399export function getBindingIdentifiers(node: Node, duplicates?: false, outerOnly?: boolean): Record<string, Identifier>
2400export function getBindingIdentifiers(node: Node, duplicates: boolean, outerOnly?: boolean): Record<string, Identifier | Array<Identifier>>
2401export function getOuterBindingIdentifiers(node: Node, duplicates: true): Record<string, Array<Identifier>>
2402export function getOuterBindingIdentifiers(node: Node, duplicates?: false): Record<string, Identifier>
2403export function getOuterBindingIdentifiers(node: Node, duplicates: boolean): Record<string, Identifier | Array<Identifier>>
2404export type TraversalAncestors = ReadonlyArray<{
2405 node: Node,
2406 key: string,
2407 index?: number,
2408}>;
2409export type TraversalHandler<T> = (
2410 this: undefined, node: Node, parent: TraversalAncestors, type: T
2411) => void;
2412export type TraversalHandlers<T> = {
2413 enter?: TraversalHandler<T>,
2414 exit?: TraversalHandler<T>,
2415};
2416export function traverse<T>(n: Node, h: TraversalHandler<T> | TraversalHandlers<T>, state?: T): void;
2417export function traverseFast<T>(n: Node, h: TraversalHandler<T>, state?: T): void;
2418export function shallowEqual<T extends object>(actual: object, expected: T): actual is T
2419export function buildMatchMemberExpression(match: string, allowPartial?: boolean): (node: Node | null | undefined) => node is MemberExpression
2420export function is<T extends Node['type']>(type: T, n: Node | null | undefined, required?: undefined): n is Extract<Node, { type: T }>
2421export function is<T extends Node['type'], P extends Extract<Node, { type: T }>>(type: T, n: Node | null | undefined, required: Partial<P>): n is P
2422export function is<P extends Node>(type: string, n: Node | null | undefined, required: Partial<P>): n is P
2423export function is(type: string, n: Node | null | undefined, required?: Partial<Node>): n is Node
2424export function isBinding(node: Node, parent: Node, grandparent?: Node): boolean
2425export function isBlockScoped(node: Node): node is FunctionDeclaration | ClassDeclaration | VariableDeclaration
2426export function isImmutable(node: Node): node is Immutable
2427export function isLet(node: Node): node is VariableDeclaration
2428export function isNode(node: object | null | undefined): node is Node
2429export function isNodesEquivalent<T extends Partial<Node>>(a: T, b: any): b is T
2430export function isNodesEquivalent(a: any, b: any): boolean
2431export function isPlaceholderType(placeholderType: Node['type'], targetType: Node['type']): boolean
2432export function isReferenced(node: Node, parent: Node, grandparent?: Node): boolean
2433export function isScope(node: Node, parent: Node): node is Scopable
2434export function isSpecifierDefault(specifier: ModuleSpecifier): boolean
2435export function isType<T extends Node['type']>(nodetype: string, targetType: T): nodetype is T
2436export function isType(nodetype: string | null | undefined, targetType: string): boolean
2437export function isValidES3Identifier(name: string): boolean
2438export function isValidIdentifier(name: string): boolean
2439export function isVar(node: Node): node is VariableDeclaration
2440export function matchesPattern(node: Node | null | undefined, match: string | ReadonlyArray<string>, allowPartial?: boolean): node is MemberExpression
2441export function validate<T extends Node, K extends keyof T>(n: Node | null | undefined, key: K, value: T[K]): void
2442export function validate(n: Node, key: string, value: any): void;
2443
\No newline at end of file