import * as recast from 'recast';
export { recast };
export { Options as RecastOptions } from 'recast';

declare function isCompatTag(tagName?: string): boolean;

type ReturnedChild = JSXSpreadChild$1 | JSXElement$1 | JSXFragment$1 | Expression$1;
declare function buildChildren(node: JSXElement$1 | JSXFragment$1): ReturnedChild[];

declare function assertNode(node?: any): asserts node is Node$2;

declare function assertArrayExpression(node: object | null | undefined, opts?: object | null): asserts node is ArrayExpression$1;
declare function assertAssignmentExpression(node: object | null | undefined, opts?: object | null): asserts node is AssignmentExpression$1;
declare function assertBinaryExpression(node: object | null | undefined, opts?: object | null): asserts node is BinaryExpression$1;
declare function assertInterpreterDirective(node: object | null | undefined, opts?: object | null): asserts node is InterpreterDirective$1;
declare function assertDirective(node: object | null | undefined, opts?: object | null): asserts node is Directive$1;
declare function assertDirectiveLiteral(node: object | null | undefined, opts?: object | null): asserts node is DirectiveLiteral$1;
declare function assertBlockStatement(node: object | null | undefined, opts?: object | null): asserts node is BlockStatement$1;
declare function assertBreakStatement(node: object | null | undefined, opts?: object | null): asserts node is BreakStatement$1;
declare function assertCallExpression(node: object | null | undefined, opts?: object | null): asserts node is CallExpression$1;
declare function assertCatchClause(node: object | null | undefined, opts?: object | null): asserts node is CatchClause$1;
declare function assertConditionalExpression(node: object | null | undefined, opts?: object | null): asserts node is ConditionalExpression$1;
declare function assertContinueStatement(node: object | null | undefined, opts?: object | null): asserts node is ContinueStatement$1;
declare function assertDebuggerStatement(node: object | null | undefined, opts?: object | null): asserts node is DebuggerStatement$1;
declare function assertDoWhileStatement(node: object | null | undefined, opts?: object | null): asserts node is DoWhileStatement$1;
declare function assertEmptyStatement(node: object | null | undefined, opts?: object | null): asserts node is EmptyStatement$1;
declare function assertExpressionStatement(node: object | null | undefined, opts?: object | null): asserts node is ExpressionStatement$1;
declare function assertFile(node: object | null | undefined, opts?: object | null): asserts node is File$1;
declare function assertForInStatement(node: object | null | undefined, opts?: object | null): asserts node is ForInStatement$1;
declare function assertForStatement(node: object | null | undefined, opts?: object | null): asserts node is ForStatement$1;
declare function assertFunctionDeclaration(node: object | null | undefined, opts?: object | null): asserts node is FunctionDeclaration$1;
declare function assertFunctionExpression(node: object | null | undefined, opts?: object | null): asserts node is FunctionExpression$1;
declare function assertIdentifier(node: object | null | undefined, opts?: object | null): asserts node is Identifier$1;
declare function assertIfStatement(node: object | null | undefined, opts?: object | null): asserts node is IfStatement$1;
declare function assertLabeledStatement(node: object | null | undefined, opts?: object | null): asserts node is LabeledStatement$1;
declare function assertStringLiteral(node: object | null | undefined, opts?: object | null): asserts node is StringLiteral$1;
declare function assertNumericLiteral(node: object | null | undefined, opts?: object | null): asserts node is NumericLiteral$1;
declare function assertNullLiteral(node: object | null | undefined, opts?: object | null): asserts node is NullLiteral$1;
declare function assertBooleanLiteral(node: object | null | undefined, opts?: object | null): asserts node is BooleanLiteral$1;
declare function assertRegExpLiteral(node: object | null | undefined, opts?: object | null): asserts node is RegExpLiteral$1;
declare function assertLogicalExpression(node: object | null | undefined, opts?: object | null): asserts node is LogicalExpression$1;
declare function assertMemberExpression(node: object | null | undefined, opts?: object | null): asserts node is MemberExpression$1;
declare function assertNewExpression(node: object | null | undefined, opts?: object | null): asserts node is NewExpression$1;
declare function assertProgram(node: object | null | undefined, opts?: object | null): asserts node is Program$1;
declare function assertObjectExpression(node: object | null | undefined, opts?: object | null): asserts node is ObjectExpression$1;
declare function assertObjectMethod(node: object | null | undefined, opts?: object | null): asserts node is ObjectMethod$1;
declare function assertObjectProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectProperty$1;
declare function assertRestElement(node: object | null | undefined, opts?: object | null): asserts node is RestElement$1;
declare function assertReturnStatement(node: object | null | undefined, opts?: object | null): asserts node is ReturnStatement$1;
declare function assertSequenceExpression(node: object | null | undefined, opts?: object | null): asserts node is SequenceExpression$1;
declare function assertParenthesizedExpression(node: object | null | undefined, opts?: object | null): asserts node is ParenthesizedExpression$1;
declare function assertSwitchCase(node: object | null | undefined, opts?: object | null): asserts node is SwitchCase$1;
declare function assertSwitchStatement(node: object | null | undefined, opts?: object | null): asserts node is SwitchStatement$1;
declare function assertThisExpression(node: object | null | undefined, opts?: object | null): asserts node is ThisExpression$1;
declare function assertThrowStatement(node: object | null | undefined, opts?: object | null): asserts node is ThrowStatement$1;
declare function assertTryStatement(node: object | null | undefined, opts?: object | null): asserts node is TryStatement$1;
declare function assertUnaryExpression(node: object | null | undefined, opts?: object | null): asserts node is UnaryExpression$1;
declare function assertUpdateExpression(node: object | null | undefined, opts?: object | null): asserts node is UpdateExpression$1;
declare function assertVariableDeclaration(node: object | null | undefined, opts?: object | null): asserts node is VariableDeclaration$1;
declare function assertVariableDeclarator(node: object | null | undefined, opts?: object | null): asserts node is VariableDeclarator$1;
declare function assertWhileStatement(node: object | null | undefined, opts?: object | null): asserts node is WhileStatement$1;
declare function assertWithStatement(node: object | null | undefined, opts?: object | null): asserts node is WithStatement$1;
declare function assertAssignmentPattern(node: object | null | undefined, opts?: object | null): asserts node is AssignmentPattern$1;
declare function assertArrayPattern(node: object | null | undefined, opts?: object | null): asserts node is ArrayPattern$1;
declare function assertArrowFunctionExpression(node: object | null | undefined, opts?: object | null): asserts node is ArrowFunctionExpression$1;
declare function assertClassBody(node: object | null | undefined, opts?: object | null): asserts node is ClassBody$1;
declare function assertClassExpression(node: object | null | undefined, opts?: object | null): asserts node is ClassExpression$1;
declare function assertClassDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ClassDeclaration$1;
declare function assertExportAllDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportAllDeclaration$1;
declare function assertExportDefaultDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportDefaultDeclaration$1;
declare function assertExportNamedDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportNamedDeclaration$1;
declare function assertExportSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ExportSpecifier$1;
declare function assertForOfStatement(node: object | null | undefined, opts?: object | null): asserts node is ForOfStatement$1;
declare function assertImportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ImportDeclaration$1;
declare function assertImportDefaultSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ImportDefaultSpecifier$1;
declare function assertImportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ImportNamespaceSpecifier$1;
declare function assertImportSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ImportSpecifier$1;
declare function assertImportExpression(node: object | null | undefined, opts?: object | null): asserts node is ImportExpression$1;
declare function assertMetaProperty(node: object | null | undefined, opts?: object | null): asserts node is MetaProperty$1;
declare function assertClassMethod(node: object | null | undefined, opts?: object | null): asserts node is ClassMethod$1;
declare function assertObjectPattern(node: object | null | undefined, opts?: object | null): asserts node is ObjectPattern$1;
declare function assertSpreadElement(node: object | null | undefined, opts?: object | null): asserts node is SpreadElement$1;
declare function assertSuper(node: object | null | undefined, opts?: object | null): asserts node is Super$1;
declare function assertTaggedTemplateExpression(node: object | null | undefined, opts?: object | null): asserts node is TaggedTemplateExpression$1;
declare function assertTemplateElement(node: object | null | undefined, opts?: object | null): asserts node is TemplateElement$1;
declare function assertTemplateLiteral(node: object | null | undefined, opts?: object | null): asserts node is TemplateLiteral$1;
declare function assertYieldExpression(node: object | null | undefined, opts?: object | null): asserts node is YieldExpression$1;
declare function assertAwaitExpression(node: object | null | undefined, opts?: object | null): asserts node is AwaitExpression$1;
declare function assertImport(node: object | null | undefined, opts?: object | null): asserts node is Import$1;
declare function assertBigIntLiteral(node: object | null | undefined, opts?: object | null): asserts node is BigIntLiteral$1;
declare function assertExportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ExportNamespaceSpecifier$1;
declare function assertOptionalMemberExpression(node: object | null | undefined, opts?: object | null): asserts node is OptionalMemberExpression$1;
declare function assertOptionalCallExpression(node: object | null | undefined, opts?: object | null): asserts node is OptionalCallExpression$1;
declare function assertClassProperty(node: object | null | undefined, opts?: object | null): asserts node is ClassProperty$1;
declare function assertClassAccessorProperty(node: object | null | undefined, opts?: object | null): asserts node is ClassAccessorProperty$1;
declare function assertClassPrivateProperty(node: object | null | undefined, opts?: object | null): asserts node is ClassPrivateProperty$1;
declare function assertClassPrivateMethod(node: object | null | undefined, opts?: object | null): asserts node is ClassPrivateMethod$1;
declare function assertPrivateName(node: object | null | undefined, opts?: object | null): asserts node is PrivateName$1;
declare function assertStaticBlock(node: object | null | undefined, opts?: object | null): asserts node is StaticBlock$1;
declare function assertAnyTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is AnyTypeAnnotation$1;
declare function assertArrayTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ArrayTypeAnnotation$1;
declare function assertBooleanTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is BooleanTypeAnnotation$1;
declare function assertBooleanLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is BooleanLiteralTypeAnnotation$1;
declare function assertNullLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NullLiteralTypeAnnotation$1;
declare function assertClassImplements(node: object | null | undefined, opts?: object | null): asserts node is ClassImplements$1;
declare function assertDeclareClass(node: object | null | undefined, opts?: object | null): asserts node is DeclareClass$1;
declare function assertDeclareFunction(node: object | null | undefined, opts?: object | null): asserts node is DeclareFunction$1;
declare function assertDeclareInterface(node: object | null | undefined, opts?: object | null): asserts node is DeclareInterface$1;
declare function assertDeclareModule(node: object | null | undefined, opts?: object | null): asserts node is DeclareModule$1;
declare function assertDeclareModuleExports(node: object | null | undefined, opts?: object | null): asserts node is DeclareModuleExports$1;
declare function assertDeclareTypeAlias(node: object | null | undefined, opts?: object | null): asserts node is DeclareTypeAlias$1;
declare function assertDeclareOpaqueType(node: object | null | undefined, opts?: object | null): asserts node is DeclareOpaqueType$1;
declare function assertDeclareVariable(node: object | null | undefined, opts?: object | null): asserts node is DeclareVariable$1;
declare function assertDeclareExportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is DeclareExportDeclaration$1;
declare function assertDeclareExportAllDeclaration(node: object | null | undefined, opts?: object | null): asserts node is DeclareExportAllDeclaration$1;
declare function assertDeclaredPredicate(node: object | null | undefined, opts?: object | null): asserts node is DeclaredPredicate$1;
declare function assertExistsTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ExistsTypeAnnotation$1;
declare function assertFunctionTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is FunctionTypeAnnotation$1;
declare function assertFunctionTypeParam(node: object | null | undefined, opts?: object | null): asserts node is FunctionTypeParam$1;
declare function assertGenericTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is GenericTypeAnnotation$1;
declare function assertInferredPredicate(node: object | null | undefined, opts?: object | null): asserts node is InferredPredicate$1;
declare function assertInterfaceExtends(node: object | null | undefined, opts?: object | null): asserts node is InterfaceExtends$1;
declare function assertInterfaceDeclaration(node: object | null | undefined, opts?: object | null): asserts node is InterfaceDeclaration$1;
declare function assertInterfaceTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is InterfaceTypeAnnotation$1;
declare function assertIntersectionTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is IntersectionTypeAnnotation$1;
declare function assertMixedTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is MixedTypeAnnotation$1;
declare function assertEmptyTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is EmptyTypeAnnotation$1;
declare function assertNullableTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NullableTypeAnnotation$1;
declare function assertNumberLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NumberLiteralTypeAnnotation$1;
declare function assertNumberTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NumberTypeAnnotation$1;
declare function assertObjectTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeAnnotation$1;
declare function assertObjectTypeInternalSlot(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeInternalSlot$1;
declare function assertObjectTypeCallProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeCallProperty$1;
declare function assertObjectTypeIndexer(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeIndexer$1;
declare function assertObjectTypeProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeProperty$1;
declare function assertObjectTypeSpreadProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeSpreadProperty$1;
declare function assertOpaqueType(node: object | null | undefined, opts?: object | null): asserts node is OpaqueType$1;
declare function assertQualifiedTypeIdentifier(node: object | null | undefined, opts?: object | null): asserts node is QualifiedTypeIdentifier$1;
declare function assertStringLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is StringLiteralTypeAnnotation$1;
declare function assertStringTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is StringTypeAnnotation$1;
declare function assertSymbolTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is SymbolTypeAnnotation$1;
declare function assertThisTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ThisTypeAnnotation$1;
declare function assertTupleTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TupleTypeAnnotation$1;
declare function assertTypeofTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TypeofTypeAnnotation$1;
declare function assertTypeAlias(node: object | null | undefined, opts?: object | null): asserts node is TypeAlias$1;
declare function assertTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TypeAnnotation$1;
declare function assertTypeCastExpression(node: object | null | undefined, opts?: object | null): asserts node is TypeCastExpression$1;
declare function assertTypeParameter(node: object | null | undefined, opts?: object | null): asserts node is TypeParameter$1;
declare function assertTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TypeParameterDeclaration$1;
declare function assertTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): asserts node is TypeParameterInstantiation$1;
declare function assertUnionTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is UnionTypeAnnotation$1;
declare function assertVariance(node: object | null | undefined, opts?: object | null): asserts node is Variance$1;
declare function assertVoidTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is VoidTypeAnnotation$1;
declare function assertEnumDeclaration(node: object | null | undefined, opts?: object | null): asserts node is EnumDeclaration$1;
declare function assertEnumBooleanBody(node: object | null | undefined, opts?: object | null): asserts node is EnumBooleanBody$1;
declare function assertEnumNumberBody(node: object | null | undefined, opts?: object | null): asserts node is EnumNumberBody$1;
declare function assertEnumStringBody(node: object | null | undefined, opts?: object | null): asserts node is EnumStringBody$1;
declare function assertEnumSymbolBody(node: object | null | undefined, opts?: object | null): asserts node is EnumSymbolBody$1;
declare function assertEnumBooleanMember(node: object | null | undefined, opts?: object | null): asserts node is EnumBooleanMember$1;
declare function assertEnumNumberMember(node: object | null | undefined, opts?: object | null): asserts node is EnumNumberMember$1;
declare function assertEnumStringMember(node: object | null | undefined, opts?: object | null): asserts node is EnumStringMember$1;
declare function assertEnumDefaultedMember(node: object | null | undefined, opts?: object | null): asserts node is EnumDefaultedMember$1;
declare function assertIndexedAccessType(node: object | null | undefined, opts?: object | null): asserts node is IndexedAccessType$1;
declare function assertOptionalIndexedAccessType(node: object | null | undefined, opts?: object | null): asserts node is OptionalIndexedAccessType$1;
declare function assertJSXAttribute(node: object | null | undefined, opts?: object | null): asserts node is JSXAttribute$1;
declare function assertJSXClosingElement(node: object | null | undefined, opts?: object | null): asserts node is JSXClosingElement$1;
declare function assertJSXElement(node: object | null | undefined, opts?: object | null): asserts node is JSXElement$1;
declare function assertJSXEmptyExpression(node: object | null | undefined, opts?: object | null): asserts node is JSXEmptyExpression$1;
declare function assertJSXExpressionContainer(node: object | null | undefined, opts?: object | null): asserts node is JSXExpressionContainer$1;
declare function assertJSXSpreadChild(node: object | null | undefined, opts?: object | null): asserts node is JSXSpreadChild$1;
declare function assertJSXIdentifier(node: object | null | undefined, opts?: object | null): asserts node is JSXIdentifier$1;
declare function assertJSXMemberExpression(node: object | null | undefined, opts?: object | null): asserts node is JSXMemberExpression$1;
declare function assertJSXNamespacedName(node: object | null | undefined, opts?: object | null): asserts node is JSXNamespacedName$1;
declare function assertJSXOpeningElement(node: object | null | undefined, opts?: object | null): asserts node is JSXOpeningElement$1;
declare function assertJSXSpreadAttribute(node: object | null | undefined, opts?: object | null): asserts node is JSXSpreadAttribute$1;
declare function assertJSXText(node: object | null | undefined, opts?: object | null): asserts node is JSXText$1;
declare function assertJSXFragment(node: object | null | undefined, opts?: object | null): asserts node is JSXFragment$1;
declare function assertJSXOpeningFragment(node: object | null | undefined, opts?: object | null): asserts node is JSXOpeningFragment$1;
declare function assertJSXClosingFragment(node: object | null | undefined, opts?: object | null): asserts node is JSXClosingFragment$1;
declare function assertNoop(node: object | null | undefined, opts?: object | null): asserts node is Noop$1;
declare function assertPlaceholder(node: object | null | undefined, opts?: object | null): asserts node is Placeholder$1;
declare function assertV8IntrinsicIdentifier(node: object | null | undefined, opts?: object | null): asserts node is V8IntrinsicIdentifier$1;
declare function assertArgumentPlaceholder(node: object | null | undefined, opts?: object | null): asserts node is ArgumentPlaceholder$1;
declare function assertBindExpression(node: object | null | undefined, opts?: object | null): asserts node is BindExpression$1;
declare function assertImportAttribute(node: object | null | undefined, opts?: object | null): asserts node is ImportAttribute$1;
declare function assertDecorator(node: object | null | undefined, opts?: object | null): asserts node is Decorator$1;
declare function assertDoExpression(node: object | null | undefined, opts?: object | null): asserts node is DoExpression$1;
declare function assertExportDefaultSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ExportDefaultSpecifier$1;
declare function assertRecordExpression(node: object | null | undefined, opts?: object | null): asserts node is RecordExpression$1;
declare function assertTupleExpression(node: object | null | undefined, opts?: object | null): asserts node is TupleExpression$1;
declare function assertDecimalLiteral(node: object | null | undefined, opts?: object | null): asserts node is DecimalLiteral$1;
declare function assertModuleExpression(node: object | null | undefined, opts?: object | null): asserts node is ModuleExpression$1;
declare function assertTopicReference(node: object | null | undefined, opts?: object | null): asserts node is TopicReference$1;
declare function assertPipelineTopicExpression(node: object | null | undefined, opts?: object | null): asserts node is PipelineTopicExpression$1;
declare function assertPipelineBareFunction(node: object | null | undefined, opts?: object | null): asserts node is PipelineBareFunction$1;
declare function assertPipelinePrimaryTopicReference(node: object | null | undefined, opts?: object | null): asserts node is PipelinePrimaryTopicReference$1;
declare function assertTSParameterProperty(node: object | null | undefined, opts?: object | null): asserts node is TSParameterProperty$1;
declare function assertTSDeclareFunction(node: object | null | undefined, opts?: object | null): asserts node is TSDeclareFunction$1;
declare function assertTSDeclareMethod(node: object | null | undefined, opts?: object | null): asserts node is TSDeclareMethod$1;
declare function assertTSQualifiedName(node: object | null | undefined, opts?: object | null): asserts node is TSQualifiedName$1;
declare function assertTSCallSignatureDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSCallSignatureDeclaration$1;
declare function assertTSConstructSignatureDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSConstructSignatureDeclaration$1;
declare function assertTSPropertySignature(node: object | null | undefined, opts?: object | null): asserts node is TSPropertySignature$1;
declare function assertTSMethodSignature(node: object | null | undefined, opts?: object | null): asserts node is TSMethodSignature$1;
declare function assertTSIndexSignature(node: object | null | undefined, opts?: object | null): asserts node is TSIndexSignature$1;
declare function assertTSAnyKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSAnyKeyword$1;
declare function assertTSBooleanKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSBooleanKeyword$1;
declare function assertTSBigIntKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSBigIntKeyword$1;
declare function assertTSIntrinsicKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSIntrinsicKeyword$1;
declare function assertTSNeverKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSNeverKeyword$1;
declare function assertTSNullKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSNullKeyword$1;
declare function assertTSNumberKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSNumberKeyword$1;
declare function assertTSObjectKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSObjectKeyword$1;
declare function assertTSStringKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSStringKeyword$1;
declare function assertTSSymbolKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSSymbolKeyword$1;
declare function assertTSUndefinedKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSUndefinedKeyword$1;
declare function assertTSUnknownKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSUnknownKeyword$1;
declare function assertTSVoidKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSVoidKeyword$1;
declare function assertTSThisType(node: object | null | undefined, opts?: object | null): asserts node is TSThisType$1;
declare function assertTSFunctionType(node: object | null | undefined, opts?: object | null): asserts node is TSFunctionType$1;
declare function assertTSConstructorType(node: object | null | undefined, opts?: object | null): asserts node is TSConstructorType$1;
declare function assertTSTypeReference(node: object | null | undefined, opts?: object | null): asserts node is TSTypeReference$1;
declare function assertTSTypePredicate(node: object | null | undefined, opts?: object | null): asserts node is TSTypePredicate$1;
declare function assertTSTypeQuery(node: object | null | undefined, opts?: object | null): asserts node is TSTypeQuery$1;
declare function assertTSTypeLiteral(node: object | null | undefined, opts?: object | null): asserts node is TSTypeLiteral$1;
declare function assertTSArrayType(node: object | null | undefined, opts?: object | null): asserts node is TSArrayType$1;
declare function assertTSTupleType(node: object | null | undefined, opts?: object | null): asserts node is TSTupleType$1;
declare function assertTSOptionalType(node: object | null | undefined, opts?: object | null): asserts node is TSOptionalType$1;
declare function assertTSRestType(node: object | null | undefined, opts?: object | null): asserts node is TSRestType$1;
declare function assertTSNamedTupleMember(node: object | null | undefined, opts?: object | null): asserts node is TSNamedTupleMember$1;
declare function assertTSUnionType(node: object | null | undefined, opts?: object | null): asserts node is TSUnionType$1;
declare function assertTSIntersectionType(node: object | null | undefined, opts?: object | null): asserts node is TSIntersectionType$1;
declare function assertTSConditionalType(node: object | null | undefined, opts?: object | null): asserts node is TSConditionalType$1;
declare function assertTSInferType(node: object | null | undefined, opts?: object | null): asserts node is TSInferType$1;
declare function assertTSParenthesizedType(node: object | null | undefined, opts?: object | null): asserts node is TSParenthesizedType$1;
declare function assertTSTypeOperator(node: object | null | undefined, opts?: object | null): asserts node is TSTypeOperator$1;
declare function assertTSIndexedAccessType(node: object | null | undefined, opts?: object | null): asserts node is TSIndexedAccessType$1;
declare function assertTSMappedType(node: object | null | undefined, opts?: object | null): asserts node is TSMappedType$1;
declare function assertTSTemplateLiteralType(node: object | null | undefined, opts?: object | null): asserts node is TSTemplateLiteralType;
declare function assertTSLiteralType(node: object | null | undefined, opts?: object | null): asserts node is TSLiteralType$1;
declare function assertTSExpressionWithTypeArguments(node: object | null | undefined, opts?: object | null): asserts node is TSExpressionWithTypeArguments$1;
declare function assertTSInterfaceDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSInterfaceDeclaration$1;
declare function assertTSInterfaceBody(node: object | null | undefined, opts?: object | null): asserts node is TSInterfaceBody$1;
declare function assertTSTypeAliasDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSTypeAliasDeclaration$1;
declare function assertTSInstantiationExpression(node: object | null | undefined, opts?: object | null): asserts node is TSInstantiationExpression$1;
declare function assertTSAsExpression(node: object | null | undefined, opts?: object | null): asserts node is TSAsExpression$1;
declare function assertTSSatisfiesExpression(node: object | null | undefined, opts?: object | null): asserts node is TSSatisfiesExpression$1;
declare function assertTSTypeAssertion(node: object | null | undefined, opts?: object | null): asserts node is TSTypeAssertion$1;
declare function assertTSEnumBody(node: object | null | undefined, opts?: object | null): asserts node is TSEnumBody$1;
declare function assertTSEnumDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSEnumDeclaration$1;
declare function assertTSEnumMember(node: object | null | undefined, opts?: object | null): asserts node is TSEnumMember$1;
declare function assertTSModuleDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSModuleDeclaration$1;
declare function assertTSModuleBlock(node: object | null | undefined, opts?: object | null): asserts node is TSModuleBlock$1;
declare function assertTSImportType(node: object | null | undefined, opts?: object | null): asserts node is TSImportType$1;
declare function assertTSImportEqualsDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSImportEqualsDeclaration$1;
declare function assertTSExternalModuleReference(node: object | null | undefined, opts?: object | null): asserts node is TSExternalModuleReference$1;
declare function assertTSNonNullExpression(node: object | null | undefined, opts?: object | null): asserts node is TSNonNullExpression$1;
declare function assertTSExportAssignment(node: object | null | undefined, opts?: object | null): asserts node is TSExportAssignment$1;
declare function assertTSNamespaceExportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSNamespaceExportDeclaration$1;
declare function assertTSTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TSTypeAnnotation$1;
declare function assertTSTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): asserts node is TSTypeParameterInstantiation$1;
declare function assertTSTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSTypeParameterDeclaration$1;
declare function assertTSTypeParameter(node: object | null | undefined, opts?: object | null): asserts node is TSTypeParameter$1;
declare function assertStandardized(node: object | null | undefined, opts?: object | null): asserts node is Standardized;
declare function assertExpression(node: object | null | undefined, opts?: object | null): asserts node is Expression$1;
declare function assertBinary(node: object | null | undefined, opts?: object | null): asserts node is Binary;
declare function assertScopable(node: object | null | undefined, opts?: object | null): asserts node is Scopable;
declare function assertBlockParent(node: object | null | undefined, opts?: object | null): asserts node is BlockParent;
declare function assertBlock(node: object | null | undefined, opts?: object | null): asserts node is Block;
declare function assertStatement(node: object | null | undefined, opts?: object | null): asserts node is Statement$1;
declare function assertTerminatorless(node: object | null | undefined, opts?: object | null): asserts node is Terminatorless;
declare function assertCompletionStatement(node: object | null | undefined, opts?: object | null): asserts node is CompletionStatement;
declare function assertConditional(node: object | null | undefined, opts?: object | null): asserts node is Conditional;
declare function assertLoop(node: object | null | undefined, opts?: object | null): asserts node is Loop;
declare function assertWhile(node: object | null | undefined, opts?: object | null): asserts node is While;
declare function assertExpressionWrapper(node: object | null | undefined, opts?: object | null): asserts node is ExpressionWrapper;
declare function assertFor(node: object | null | undefined, opts?: object | null): asserts node is For;
declare function assertForXStatement(node: object | null | undefined, opts?: object | null): asserts node is ForXStatement;
declare function assertFunction(node: object | null | undefined, opts?: object | null): asserts node is Function;
declare function assertFunctionParent(node: object | null | undefined, opts?: object | null): asserts node is FunctionParent;
declare function assertPureish(node: object | null | undefined, opts?: object | null): asserts node is Pureish;
declare function assertDeclaration(node: object | null | undefined, opts?: object | null): asserts node is Declaration$1;
declare function assertPatternLike(node: object | null | undefined, opts?: object | null): asserts node is PatternLike$1;
declare function assertLVal(node: object | null | undefined, opts?: object | null): asserts node is LVal$1;
declare function assertTSEntityName(node: object | null | undefined, opts?: object | null): asserts node is TSEntityName$1;
declare function assertLiteral(node: object | null | undefined, opts?: object | null): asserts node is Literal;
declare function assertImmutable(node: object | null | undefined, opts?: object | null): asserts node is Immutable;
declare function assertUserWhitespacable(node: object | null | undefined, opts?: object | null): asserts node is UserWhitespacable;
declare function assertMethod(node: object | null | undefined, opts?: object | null): asserts node is Method;
declare function assertObjectMember(node: object | null | undefined, opts?: object | null): asserts node is ObjectMember;
declare function assertProperty(node: object | null | undefined, opts?: object | null): asserts node is Property;
declare function assertUnaryLike(node: object | null | undefined, opts?: object | null): asserts node is UnaryLike;
declare function assertPattern(node: object | null | undefined, opts?: object | null): asserts node is Pattern$1;
declare function assertClass(node: object | null | undefined, opts?: object | null): asserts node is Class;
declare function assertImportOrExportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ImportOrExportDeclaration;
declare function assertExportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportDeclaration;
declare function assertModuleSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ModuleSpecifier;
declare function assertAccessor(node: object | null | undefined, opts?: object | null): asserts node is Accessor;
declare function assertPrivate(node: object | null | undefined, opts?: object | null): asserts node is Private;
declare function assertFlow(node: object | null | undefined, opts?: object | null): asserts node is Flow$1;
declare function assertFlowType(node: object | null | undefined, opts?: object | null): asserts node is FlowType$1;
declare function assertFlowBaseAnnotation(node: object | null | undefined, opts?: object | null): asserts node is FlowBaseAnnotation;
declare function assertFlowDeclaration(node: object | null | undefined, opts?: object | null): asserts node is FlowDeclaration;
declare function assertFlowPredicate(node: object | null | undefined, opts?: object | null): asserts node is FlowPredicate;
declare function assertEnumBody(node: object | null | undefined, opts?: object | null): asserts node is EnumBody;
declare function assertEnumMember(node: object | null | undefined, opts?: object | null): asserts node is EnumMember;
declare function assertJSX(node: object | null | undefined, opts?: object | null): asserts node is JSX;
declare function assertMiscellaneous(node: object | null | undefined, opts?: object | null): asserts node is Miscellaneous;
declare function assertTypeScript(node: object | null | undefined, opts?: object | null): asserts node is TypeScript;
declare function assertTSTypeElement(node: object | null | undefined, opts?: object | null): asserts node is TSTypeElement$1;
declare function assertTSType(node: object | null | undefined, opts?: object | null): asserts node is TSType$1;
declare function assertTSBaseType(node: object | null | undefined, opts?: object | null): asserts node is TSBaseType;
declare function assertNumberLiteral(node: any, opts: any): void;
declare function assertRegexLiteral(node: any, opts: any): void;
declare function assertRestProperty(node: any, opts: any): void;
declare function assertSpreadProperty(node: any, opts: any): void;
declare function assertModuleDeclaration(node: any, opts: any): void;

declare const _default$4: {
    (type: "string"): StringTypeAnnotation$1;
    (type: "number"): NumberTypeAnnotation$1;
    (type: "undefined"): VoidTypeAnnotation$1;
    (type: "boolean"): BooleanTypeAnnotation$1;
    (type: "function"): GenericTypeAnnotation$1;
    (type: "object"): GenericTypeAnnotation$1;
    (type: "symbol"): GenericTypeAnnotation$1;
    (type: "bigint"): AnyTypeAnnotation$1;
};
//# sourceMappingURL=createTypeAnnotationBasedOnTypeof.d.ts.map

/**
 * Takes an array of `types` and flattens them, removing duplicates and
 * returns a `UnionTypeAnnotation` node containing them.
 */
declare function createFlowUnionType<T extends FlowType$1>(types: [T] | Array<T>): T | UnionTypeAnnotation$1;

/**
 * Takes an array of `types` and flattens them, removing duplicates and
 * returns a `UnionTypeAnnotation` node containing them.
 */
declare function createTSUnionType(typeAnnotations: Array<TSTypeAnnotation$1 | TSType$1>): TSType$1;

interface BaseComment$1 {
    value: string;
    start?: number;
    end?: number;
    loc?: SourceLocation$1;
    ignore?: boolean;
    type: "CommentBlock" | "CommentLine";
}
interface Position$1 {
    line: number;
    column: number;
    index: number;
}
interface CommentBlock$1 extends BaseComment$1 {
    type: "CommentBlock";
}
interface CommentLine$1 extends BaseComment$1 {
    type: "CommentLine";
}
type Comment$1 = CommentBlock$1 | CommentLine$1;
interface SourceLocation$1 {
    start: Position$1;
    end: Position$1;
    filename: string;
    identifierName: string | undefined | null;
}
interface BaseNode$1 {
    type: Node$2["type"];
    leadingComments?: Comment$1[] | null;
    innerComments?: Comment$1[] | null;
    trailingComments?: Comment$1[] | null;
    start?: number | null;
    end?: number | null;
    loc?: SourceLocation$1 | null;
    range?: [number, number];
    extra?: Record<string, unknown>;
}
type CommentTypeShorthand = "leading" | "inner" | "trailing";
type Node$2 = AnyTypeAnnotation$1 | ArgumentPlaceholder$1 | ArrayExpression$1 | ArrayPattern$1 | ArrayTypeAnnotation$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BigIntLiteral$1 | BinaryExpression$1 | BindExpression$1 | BlockStatement$1 | BooleanLiteral$1 | BooleanLiteralTypeAnnotation$1 | BooleanTypeAnnotation$1 | BreakStatement$1 | CallExpression$1 | CatchClause$1 | ClassAccessorProperty$1 | ClassBody$1 | ClassDeclaration$1 | ClassExpression$1 | ClassImplements$1 | ClassMethod$1 | ClassPrivateMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | ContinueStatement$1 | DebuggerStatement$1 | DecimalLiteral$1 | DeclareClass$1 | DeclareExportAllDeclaration$1 | DeclareExportDeclaration$1 | DeclareFunction$1 | DeclareInterface$1 | DeclareModule$1 | DeclareModuleExports$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclareVariable$1 | DeclaredPredicate$1 | Decorator$1 | Directive$1 | DirectiveLiteral$1 | DoExpression$1 | DoWhileStatement$1 | EmptyStatement$1 | EmptyTypeAnnotation$1 | EnumBooleanBody$1 | EnumBooleanMember$1 | EnumDeclaration$1 | EnumDefaultedMember$1 | EnumNumberBody$1 | EnumNumberMember$1 | EnumStringBody$1 | EnumStringMember$1 | EnumSymbolBody$1 | ExistsTypeAnnotation$1 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportDefaultSpecifier$1 | ExportNamedDeclaration$1 | ExportNamespaceSpecifier$1 | ExportSpecifier$1 | ExpressionStatement$1 | File$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | FunctionDeclaration$1 | FunctionExpression$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | GenericTypeAnnotation$1 | Identifier$1 | IfStatement$1 | Import$1 | ImportAttribute$1 | ImportDeclaration$1 | ImportDefaultSpecifier$1 | ImportExpression$1 | ImportNamespaceSpecifier$1 | ImportSpecifier$1 | IndexedAccessType$1 | InferredPredicate$1 | InterfaceDeclaration$1 | InterfaceExtends$1 | InterfaceTypeAnnotation$1 | InterpreterDirective$1 | IntersectionTypeAnnotation$1 | JSXAttribute$1 | JSXClosingElement$1 | JSXClosingFragment$1 | JSXElement$1 | JSXEmptyExpression$1 | JSXExpressionContainer$1 | JSXFragment$1 | JSXIdentifier$1 | JSXMemberExpression$1 | JSXNamespacedName$1 | JSXOpeningElement$1 | JSXOpeningFragment$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | JSXText$1 | LabeledStatement$1 | LogicalExpression$1 | MemberExpression$1 | MetaProperty$1 | MixedTypeAnnotation$1 | ModuleExpression$1 | NewExpression$1 | Noop$1 | NullLiteral$1 | NullLiteralTypeAnnotation$1 | NullableTypeAnnotation$1 | NumberLiteral$1 | NumberLiteralTypeAnnotation$1 | NumberTypeAnnotation$1 | NumericLiteral$1 | ObjectExpression$1 | ObjectMethod$1 | ObjectPattern$1 | ObjectProperty$1 | ObjectTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalCallExpression$1 | OptionalIndexedAccessType$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelinePrimaryTopicReference$1 | PipelineTopicExpression$1 | Placeholder$1 | PrivateName$1 | Program$1 | QualifiedTypeIdentifier$1 | RecordExpression$1 | RegExpLiteral$1 | RegexLiteral$1 | RestElement$1 | RestProperty$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SpreadProperty$1 | StaticBlock$1 | StringLiteral$1 | StringLiteralTypeAnnotation$1 | StringTypeAnnotation$1 | Super$1 | SwitchCase$1 | SwitchStatement$1 | SymbolTypeAnnotation$1 | TSAnyKeyword$1 | TSArrayType$1 | TSAsExpression$1 | TSBigIntKeyword$1 | TSBooleanKeyword$1 | TSCallSignatureDeclaration$1 | TSConditionalType$1 | TSConstructSignatureDeclaration$1 | TSConstructorType$1 | TSDeclareFunction$1 | TSDeclareMethod$1 | TSEnumBody$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSExpressionWithTypeArguments$1 | TSExternalModuleReference$1 | TSFunctionType$1 | TSImportEqualsDeclaration$1 | TSImportType$1 | TSIndexSignature$1 | TSIndexedAccessType$1 | TSInferType$1 | TSInstantiationExpression$1 | TSInterfaceBody$1 | TSInterfaceDeclaration$1 | TSIntersectionType$1 | TSIntrinsicKeyword$1 | TSLiteralType$1 | TSMappedType$1 | TSMethodSignature$1 | TSModuleBlock$1 | TSModuleDeclaration$1 | TSNamedTupleMember$1 | TSNamespaceExportDeclaration$1 | TSNeverKeyword$1 | TSNonNullExpression$1 | TSNullKeyword$1 | TSNumberKeyword$1 | TSObjectKeyword$1 | TSOptionalType$1 | TSParameterProperty$1 | TSParenthesizedType$1 | TSPropertySignature$1 | TSQualifiedName$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSStringKeyword$1 | TSSymbolKeyword$1 | TSTemplateLiteralType | TSThisType$1 | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeLiteral$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterDeclaration$1 | TSTypeParameterInstantiation$1 | TSTypePredicate$1 | TSTypeQuery$1 | TSTypeReference$1 | TSUndefinedKeyword$1 | TSUnionType$1 | TSUnknownKeyword$1 | TSVoidKeyword$1 | TaggedTemplateExpression$1 | TemplateElement$1 | TemplateLiteral$1 | ThisExpression$1 | ThisTypeAnnotation$1 | ThrowStatement$1 | TopicReference$1 | TryStatement$1 | TupleExpression$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeCastExpression$1 | TypeParameter$1 | TypeParameterDeclaration$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnaryExpression$1 | UnionTypeAnnotation$1 | UpdateExpression$1 | V8IntrinsicIdentifier$1 | VariableDeclaration$1 | VariableDeclarator$1 | Variance$1 | VoidTypeAnnotation$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
interface ArrayExpression$1 extends BaseNode$1 {
    type: "ArrayExpression";
    elements: Array<null | Expression$1 | SpreadElement$1>;
}
interface AssignmentExpression$1 extends BaseNode$1 {
    type: "AssignmentExpression";
    operator: string;
    left: LVal$1 | OptionalMemberExpression$1;
    right: Expression$1;
}
interface BinaryExpression$1 extends BaseNode$1 {
    type: "BinaryExpression";
    operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>";
    left: Expression$1 | PrivateName$1;
    right: Expression$1;
}
interface InterpreterDirective$1 extends BaseNode$1 {
    type: "InterpreterDirective";
    value: string;
}
interface Directive$1 extends BaseNode$1 {
    type: "Directive";
    value: DirectiveLiteral$1;
}
interface DirectiveLiteral$1 extends BaseNode$1 {
    type: "DirectiveLiteral";
    value: string;
}
interface BlockStatement$1 extends BaseNode$1 {
    type: "BlockStatement";
    body: Array<Statement$1>;
    directives: Array<Directive$1>;
}
interface BreakStatement$1 extends BaseNode$1 {
    type: "BreakStatement";
    label?: Identifier$1 | null;
}
interface CallExpression$1 extends BaseNode$1 {
    type: "CallExpression";
    callee: Expression$1 | Super$1 | V8IntrinsicIdentifier$1;
    arguments: Array<Expression$1 | SpreadElement$1 | ArgumentPlaceholder$1>;
    optional?: boolean | null;
    typeArguments?: TypeParameterInstantiation$1 | null;
    typeParameters?: TSTypeParameterInstantiation$1 | null;
}
interface CatchClause$1 extends BaseNode$1 {
    type: "CatchClause";
    param?: Identifier$1 | ArrayPattern$1 | ObjectPattern$1 | null;
    body: BlockStatement$1;
}
interface ConditionalExpression$1 extends BaseNode$1 {
    type: "ConditionalExpression";
    test: Expression$1;
    consequent: Expression$1;
    alternate: Expression$1;
}
interface ContinueStatement$1 extends BaseNode$1 {
    type: "ContinueStatement";
    label?: Identifier$1 | null;
}
interface DebuggerStatement$1 extends BaseNode$1 {
    type: "DebuggerStatement";
}
interface DoWhileStatement$1 extends BaseNode$1 {
    type: "DoWhileStatement";
    test: Expression$1;
    body: Statement$1;
}
interface EmptyStatement$1 extends BaseNode$1 {
    type: "EmptyStatement";
}
interface ExpressionStatement$1 extends BaseNode$1 {
    type: "ExpressionStatement";
    expression: Expression$1;
}
interface File$1 extends BaseNode$1 {
    type: "File";
    program: Program$1;
    comments?: Array<CommentBlock$1 | CommentLine$1> | null;
    tokens?: Array<any> | null;
}
interface ForInStatement$1 extends BaseNode$1 {
    type: "ForInStatement";
    left: VariableDeclaration$1 | LVal$1;
    right: Expression$1;
    body: Statement$1;
}
interface ForStatement$1 extends BaseNode$1 {
    type: "ForStatement";
    init?: VariableDeclaration$1 | Expression$1 | null;
    test?: Expression$1 | null;
    update?: Expression$1 | null;
    body: Statement$1;
}
interface FunctionDeclaration$1 extends BaseNode$1 {
    type: "FunctionDeclaration";
    id?: Identifier$1 | null;
    params: Array<Identifier$1 | Pattern$1 | RestElement$1>;
    body: BlockStatement$1;
    generator: boolean;
    async: boolean;
    declare?: boolean | null;
    predicate?: DeclaredPredicate$1 | InferredPredicate$1 | null;
    returnType?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
    typeParameters?: TypeParameterDeclaration$1 | TSTypeParameterDeclaration$1 | Noop$1 | null;
}
interface FunctionExpression$1 extends BaseNode$1 {
    type: "FunctionExpression";
    id?: Identifier$1 | null;
    params: Array<Identifier$1 | Pattern$1 | RestElement$1>;
    body: BlockStatement$1;
    generator: boolean;
    async: boolean;
    predicate?: DeclaredPredicate$1 | InferredPredicate$1 | null;
    returnType?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
    typeParameters?: TypeParameterDeclaration$1 | TSTypeParameterDeclaration$1 | Noop$1 | null;
}
interface Identifier$1 extends BaseNode$1 {
    type: "Identifier";
    name: string;
    decorators?: Array<Decorator$1> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
}
interface IfStatement$1 extends BaseNode$1 {
    type: "IfStatement";
    test: Expression$1;
    consequent: Statement$1;
    alternate?: Statement$1 | null;
}
interface LabeledStatement$1 extends BaseNode$1 {
    type: "LabeledStatement";
    label: Identifier$1;
    body: Statement$1;
}
interface StringLiteral$1 extends BaseNode$1 {
    type: "StringLiteral";
    value: string;
}
interface NumericLiteral$1 extends BaseNode$1 {
    type: "NumericLiteral";
    value: number;
}
/**
 * @deprecated Use `NumericLiteral`
 */
interface NumberLiteral$1 extends BaseNode$1 {
    type: "NumberLiteral";
    value: number;
}
interface NullLiteral$1 extends BaseNode$1 {
    type: "NullLiteral";
}
interface BooleanLiteral$1 extends BaseNode$1 {
    type: "BooleanLiteral";
    value: boolean;
}
interface RegExpLiteral$1 extends BaseNode$1 {
    type: "RegExpLiteral";
    pattern: string;
    flags: string;
}
/**
 * @deprecated Use `RegExpLiteral`
 */
interface RegexLiteral$1 extends BaseNode$1 {
    type: "RegexLiteral";
    pattern: string;
    flags: string;
}
interface LogicalExpression$1 extends BaseNode$1 {
    type: "LogicalExpression";
    operator: "||" | "&&" | "??";
    left: Expression$1;
    right: Expression$1;
}
interface MemberExpression$1 extends BaseNode$1 {
    type: "MemberExpression";
    object: Expression$1 | Super$1;
    property: Expression$1 | Identifier$1 | PrivateName$1;
    computed: boolean;
    optional?: boolean | null;
}
interface NewExpression$1 extends BaseNode$1 {
    type: "NewExpression";
    callee: Expression$1 | Super$1 | V8IntrinsicIdentifier$1;
    arguments: Array<Expression$1 | SpreadElement$1 | ArgumentPlaceholder$1>;
    optional?: boolean | null;
    typeArguments?: TypeParameterInstantiation$1 | null;
    typeParameters?: TSTypeParameterInstantiation$1 | null;
}
interface Program$1 extends BaseNode$1 {
    type: "Program";
    body: Array<Statement$1>;
    directives: Array<Directive$1>;
    sourceType: "script" | "module";
    interpreter?: InterpreterDirective$1 | null;
}
interface ObjectExpression$1 extends BaseNode$1 {
    type: "ObjectExpression";
    properties: Array<ObjectMethod$1 | ObjectProperty$1 | SpreadElement$1>;
}
interface ObjectMethod$1 extends BaseNode$1 {
    type: "ObjectMethod";
    kind: "method" | "get" | "set";
    key: Expression$1 | Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1;
    params: Array<Identifier$1 | Pattern$1 | RestElement$1>;
    body: BlockStatement$1;
    computed: boolean;
    generator: boolean;
    async: boolean;
    decorators?: Array<Decorator$1> | null;
    returnType?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
    typeParameters?: TypeParameterDeclaration$1 | TSTypeParameterDeclaration$1 | Noop$1 | null;
}
interface ObjectProperty$1 extends BaseNode$1 {
    type: "ObjectProperty";
    key: Expression$1 | Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | DecimalLiteral$1 | PrivateName$1;
    value: Expression$1 | PatternLike$1;
    computed: boolean;
    shorthand: boolean;
    decorators?: Array<Decorator$1> | null;
}
interface RestElement$1 extends BaseNode$1 {
    type: "RestElement";
    argument: LVal$1;
    decorators?: Array<Decorator$1> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
}
/**
 * @deprecated Use `RestElement`
 */
interface RestProperty$1 extends BaseNode$1 {
    type: "RestProperty";
    argument: LVal$1;
    decorators?: Array<Decorator$1> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
}
interface ReturnStatement$1 extends BaseNode$1 {
    type: "ReturnStatement";
    argument?: Expression$1 | null;
}
interface SequenceExpression$1 extends BaseNode$1 {
    type: "SequenceExpression";
    expressions: Array<Expression$1>;
}
interface ParenthesizedExpression$1 extends BaseNode$1 {
    type: "ParenthesizedExpression";
    expression: Expression$1;
}
interface SwitchCase$1 extends BaseNode$1 {
    type: "SwitchCase";
    test?: Expression$1 | null;
    consequent: Array<Statement$1>;
}
interface SwitchStatement$1 extends BaseNode$1 {
    type: "SwitchStatement";
    discriminant: Expression$1;
    cases: Array<SwitchCase$1>;
}
interface ThisExpression$1 extends BaseNode$1 {
    type: "ThisExpression";
}
interface ThrowStatement$1 extends BaseNode$1 {
    type: "ThrowStatement";
    argument: Expression$1;
}
interface TryStatement$1 extends BaseNode$1 {
    type: "TryStatement";
    block: BlockStatement$1;
    handler?: CatchClause$1 | null;
    finalizer?: BlockStatement$1 | null;
}
interface UnaryExpression$1 extends BaseNode$1 {
    type: "UnaryExpression";
    operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof";
    argument: Expression$1;
    prefix: boolean;
}
interface UpdateExpression$1 extends BaseNode$1 {
    type: "UpdateExpression";
    operator: "++" | "--";
    argument: Expression$1;
    prefix: boolean;
}
interface VariableDeclaration$1 extends BaseNode$1 {
    type: "VariableDeclaration";
    kind: "var" | "let" | "const" | "using" | "await using";
    declarations: Array<VariableDeclarator$1>;
    declare?: boolean | null;
}
interface VariableDeclarator$1 extends BaseNode$1 {
    type: "VariableDeclarator";
    id: LVal$1;
    init?: Expression$1 | null;
    definite?: boolean | null;
}
interface WhileStatement$1 extends BaseNode$1 {
    type: "WhileStatement";
    test: Expression$1;
    body: Statement$1;
}
interface WithStatement$1 extends BaseNode$1 {
    type: "WithStatement";
    object: Expression$1;
    body: Statement$1;
}
interface AssignmentPattern$1 extends BaseNode$1 {
    type: "AssignmentPattern";
    left: Identifier$1 | ObjectPattern$1 | ArrayPattern$1 | MemberExpression$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TSNonNullExpression$1;
    right: Expression$1;
    decorators?: Array<Decorator$1> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
}
interface ArrayPattern$1 extends BaseNode$1 {
    type: "ArrayPattern";
    elements: Array<null | PatternLike$1 | LVal$1>;
    decorators?: Array<Decorator$1> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
}
interface ArrowFunctionExpression$1 extends BaseNode$1 {
    type: "ArrowFunctionExpression";
    params: Array<Identifier$1 | Pattern$1 | RestElement$1>;
    body: BlockStatement$1 | Expression$1;
    async: boolean;
    expression: boolean;
    generator?: boolean;
    predicate?: DeclaredPredicate$1 | InferredPredicate$1 | null;
    returnType?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
    typeParameters?: TypeParameterDeclaration$1 | TSTypeParameterDeclaration$1 | Noop$1 | null;
}
interface ClassBody$1 extends BaseNode$1 {
    type: "ClassBody";
    body: Array<ClassMethod$1 | ClassPrivateMethod$1 | ClassProperty$1 | ClassPrivateProperty$1 | ClassAccessorProperty$1 | TSDeclareMethod$1 | TSIndexSignature$1 | StaticBlock$1>;
}
interface ClassExpression$1 extends BaseNode$1 {
    type: "ClassExpression";
    id?: Identifier$1 | null;
    superClass?: Expression$1 | null;
    body: ClassBody$1;
    decorators?: Array<Decorator$1> | null;
    implements?: Array<TSExpressionWithTypeArguments$1 | ClassImplements$1> | null;
    mixins?: InterfaceExtends$1 | null;
    superTypeParameters?: TypeParameterInstantiation$1 | TSTypeParameterInstantiation$1 | null;
    typeParameters?: TypeParameterDeclaration$1 | TSTypeParameterDeclaration$1 | Noop$1 | null;
}
interface ClassDeclaration$1 extends BaseNode$1 {
    type: "ClassDeclaration";
    id?: Identifier$1 | null;
    superClass?: Expression$1 | null;
    body: ClassBody$1;
    decorators?: Array<Decorator$1> | null;
    abstract?: boolean | null;
    declare?: boolean | null;
    implements?: Array<TSExpressionWithTypeArguments$1 | ClassImplements$1> | null;
    mixins?: InterfaceExtends$1 | null;
    superTypeParameters?: TypeParameterInstantiation$1 | TSTypeParameterInstantiation$1 | null;
    typeParameters?: TypeParameterDeclaration$1 | TSTypeParameterDeclaration$1 | Noop$1 | null;
}
interface ExportAllDeclaration$1 extends BaseNode$1 {
    type: "ExportAllDeclaration";
    source: StringLiteral$1;
    /** @deprecated */
    assertions?: Array<ImportAttribute$1> | null;
    attributes?: Array<ImportAttribute$1> | null;
    exportKind?: "type" | "value" | null;
}
interface ExportDefaultDeclaration$1 extends BaseNode$1 {
    type: "ExportDefaultDeclaration";
    declaration: TSDeclareFunction$1 | FunctionDeclaration$1 | ClassDeclaration$1 | Expression$1;
    exportKind?: "value" | null;
}
interface ExportNamedDeclaration$1 extends BaseNode$1 {
    type: "ExportNamedDeclaration";
    declaration?: Declaration$1 | null;
    specifiers: Array<ExportSpecifier$1 | ExportDefaultSpecifier$1 | ExportNamespaceSpecifier$1>;
    source?: StringLiteral$1 | null;
    /** @deprecated */
    assertions?: Array<ImportAttribute$1> | null;
    attributes?: Array<ImportAttribute$1> | null;
    exportKind?: "type" | "value" | null;
}
interface ExportSpecifier$1 extends BaseNode$1 {
    type: "ExportSpecifier";
    local: Identifier$1;
    exported: Identifier$1 | StringLiteral$1;
    exportKind?: "type" | "value" | null;
}
interface ForOfStatement$1 extends BaseNode$1 {
    type: "ForOfStatement";
    left: VariableDeclaration$1 | LVal$1;
    right: Expression$1;
    body: Statement$1;
    await: boolean;
}
interface ImportDeclaration$1 extends BaseNode$1 {
    type: "ImportDeclaration";
    specifiers: Array<ImportSpecifier$1 | ImportDefaultSpecifier$1 | ImportNamespaceSpecifier$1>;
    source: StringLiteral$1;
    /** @deprecated */
    assertions?: Array<ImportAttribute$1> | null;
    attributes?: Array<ImportAttribute$1> | null;
    importKind?: "type" | "typeof" | "value" | null;
    module?: boolean | null;
    phase?: "source" | "defer" | null;
}
interface ImportDefaultSpecifier$1 extends BaseNode$1 {
    type: "ImportDefaultSpecifier";
    local: Identifier$1;
}
interface ImportNamespaceSpecifier$1 extends BaseNode$1 {
    type: "ImportNamespaceSpecifier";
    local: Identifier$1;
}
interface ImportSpecifier$1 extends BaseNode$1 {
    type: "ImportSpecifier";
    local: Identifier$1;
    imported: Identifier$1 | StringLiteral$1;
    importKind?: "type" | "typeof" | "value" | null;
}
interface ImportExpression$1 extends BaseNode$1 {
    type: "ImportExpression";
    source: Expression$1;
    options?: Expression$1 | null;
    phase?: "source" | "defer" | null;
}
interface MetaProperty$1 extends BaseNode$1 {
    type: "MetaProperty";
    meta: Identifier$1;
    property: Identifier$1;
}
interface ClassMethod$1 extends BaseNode$1 {
    type: "ClassMethod";
    kind: "get" | "set" | "method" | "constructor";
    key: Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | Expression$1;
    params: Array<Identifier$1 | Pattern$1 | RestElement$1 | TSParameterProperty$1>;
    body: BlockStatement$1;
    computed: boolean;
    static: boolean;
    generator: boolean;
    async: boolean;
    abstract?: boolean | null;
    access?: "public" | "private" | "protected" | null;
    accessibility?: "public" | "private" | "protected" | null;
    decorators?: Array<Decorator$1> | null;
    optional?: boolean | null;
    override?: boolean;
    returnType?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
    typeParameters?: TypeParameterDeclaration$1 | TSTypeParameterDeclaration$1 | Noop$1 | null;
}
interface ObjectPattern$1 extends BaseNode$1 {
    type: "ObjectPattern";
    properties: Array<RestElement$1 | ObjectProperty$1>;
    decorators?: Array<Decorator$1> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
}
interface SpreadElement$1 extends BaseNode$1 {
    type: "SpreadElement";
    argument: Expression$1;
}
/**
 * @deprecated Use `SpreadElement`
 */
interface SpreadProperty$1 extends BaseNode$1 {
    type: "SpreadProperty";
    argument: Expression$1;
}
interface Super$1 extends BaseNode$1 {
    type: "Super";
}
interface TaggedTemplateExpression$1 extends BaseNode$1 {
    type: "TaggedTemplateExpression";
    tag: Expression$1;
    quasi: TemplateLiteral$1;
    typeParameters?: TypeParameterInstantiation$1 | TSTypeParameterInstantiation$1 | null;
}
interface TemplateElement$1 extends BaseNode$1 {
    type: "TemplateElement";
    value: {
        raw: string;
        cooked?: string;
    };
    tail: boolean;
}
interface TemplateLiteral$1 extends BaseNode$1 {
    type: "TemplateLiteral";
    quasis: Array<TemplateElement$1>;
    expressions: Array<Expression$1 | TSType$1>;
}
interface YieldExpression$1 extends BaseNode$1 {
    type: "YieldExpression";
    argument?: Expression$1 | null;
    delegate: boolean;
}
interface AwaitExpression$1 extends BaseNode$1 {
    type: "AwaitExpression";
    argument: Expression$1;
}
interface Import$1 extends BaseNode$1 {
    type: "Import";
}
interface BigIntLiteral$1 extends BaseNode$1 {
    type: "BigIntLiteral";
    value: string;
}
interface ExportNamespaceSpecifier$1 extends BaseNode$1 {
    type: "ExportNamespaceSpecifier";
    exported: Identifier$1;
}
interface OptionalMemberExpression$1 extends BaseNode$1 {
    type: "OptionalMemberExpression";
    object: Expression$1;
    property: Expression$1 | Identifier$1;
    computed: boolean;
    optional: boolean;
}
interface OptionalCallExpression$1 extends BaseNode$1 {
    type: "OptionalCallExpression";
    callee: Expression$1;
    arguments: Array<Expression$1 | SpreadElement$1 | ArgumentPlaceholder$1>;
    optional: boolean;
    typeArguments?: TypeParameterInstantiation$1 | null;
    typeParameters?: TSTypeParameterInstantiation$1 | null;
}
interface ClassProperty$1 extends BaseNode$1 {
    type: "ClassProperty";
    key: Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | Expression$1;
    value?: Expression$1 | null;
    typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
    decorators?: Array<Decorator$1> | null;
    computed: boolean;
    static: boolean;
    abstract?: boolean | null;
    accessibility?: "public" | "private" | "protected" | null;
    declare?: boolean | null;
    definite?: boolean | null;
    optional?: boolean | null;
    override?: boolean;
    readonly?: boolean | null;
    variance?: Variance$1 | null;
}
interface ClassAccessorProperty$1 extends BaseNode$1 {
    type: "ClassAccessorProperty";
    key: Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | Expression$1 | PrivateName$1;
    value?: Expression$1 | null;
    typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
    decorators?: Array<Decorator$1> | null;
    computed: boolean;
    static: boolean;
    abstract?: boolean | null;
    accessibility?: "public" | "private" | "protected" | null;
    declare?: boolean | null;
    definite?: boolean | null;
    optional?: boolean | null;
    override?: boolean;
    readonly?: boolean | null;
    variance?: Variance$1 | null;
}
interface ClassPrivateProperty$1 extends BaseNode$1 {
    type: "ClassPrivateProperty";
    key: PrivateName$1;
    value?: Expression$1 | null;
    decorators?: Array<Decorator$1> | null;
    static: boolean;
    definite?: boolean | null;
    optional?: boolean | null;
    readonly?: boolean | null;
    typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
    variance?: Variance$1 | null;
}
interface ClassPrivateMethod$1 extends BaseNode$1 {
    type: "ClassPrivateMethod";
    kind: "get" | "set" | "method";
    key: PrivateName$1;
    params: Array<Identifier$1 | Pattern$1 | RestElement$1 | TSParameterProperty$1>;
    body: BlockStatement$1;
    static: boolean;
    abstract?: boolean | null;
    access?: "public" | "private" | "protected" | null;
    accessibility?: "public" | "private" | "protected" | null;
    async?: boolean;
    computed?: boolean;
    decorators?: Array<Decorator$1> | null;
    generator?: boolean;
    optional?: boolean | null;
    override?: boolean;
    returnType?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
    typeParameters?: TypeParameterDeclaration$1 | TSTypeParameterDeclaration$1 | Noop$1 | null;
}
interface PrivateName$1 extends BaseNode$1 {
    type: "PrivateName";
    id: Identifier$1;
}
interface StaticBlock$1 extends BaseNode$1 {
    type: "StaticBlock";
    body: Array<Statement$1>;
}
interface AnyTypeAnnotation$1 extends BaseNode$1 {
    type: "AnyTypeAnnotation";
}
interface ArrayTypeAnnotation$1 extends BaseNode$1 {
    type: "ArrayTypeAnnotation";
    elementType: FlowType$1;
}
interface BooleanTypeAnnotation$1 extends BaseNode$1 {
    type: "BooleanTypeAnnotation";
}
interface BooleanLiteralTypeAnnotation$1 extends BaseNode$1 {
    type: "BooleanLiteralTypeAnnotation";
    value: boolean;
}
interface NullLiteralTypeAnnotation$1 extends BaseNode$1 {
    type: "NullLiteralTypeAnnotation";
}
interface ClassImplements$1 extends BaseNode$1 {
    type: "ClassImplements";
    id: Identifier$1;
    typeParameters?: TypeParameterInstantiation$1 | null;
}
interface DeclareClass$1 extends BaseNode$1 {
    type: "DeclareClass";
    id: Identifier$1;
    typeParameters?: TypeParameterDeclaration$1 | null;
    extends?: Array<InterfaceExtends$1> | null;
    body: ObjectTypeAnnotation$1;
    implements?: Array<ClassImplements$1> | null;
    mixins?: Array<InterfaceExtends$1> | null;
}
interface DeclareFunction$1 extends BaseNode$1 {
    type: "DeclareFunction";
    id: Identifier$1;
    predicate?: DeclaredPredicate$1 | null;
}
interface DeclareInterface$1 extends BaseNode$1 {
    type: "DeclareInterface";
    id: Identifier$1;
    typeParameters?: TypeParameterDeclaration$1 | null;
    extends?: Array<InterfaceExtends$1> | null;
    body: ObjectTypeAnnotation$1;
}
interface DeclareModule$1 extends BaseNode$1 {
    type: "DeclareModule";
    id: Identifier$1 | StringLiteral$1;
    body: BlockStatement$1;
    kind?: "CommonJS" | "ES" | null;
}
interface DeclareModuleExports$1 extends BaseNode$1 {
    type: "DeclareModuleExports";
    typeAnnotation: TypeAnnotation$1;
}
interface DeclareTypeAlias$1 extends BaseNode$1 {
    type: "DeclareTypeAlias";
    id: Identifier$1;
    typeParameters?: TypeParameterDeclaration$1 | null;
    right: FlowType$1;
}
interface DeclareOpaqueType$1 extends BaseNode$1 {
    type: "DeclareOpaqueType";
    id: Identifier$1;
    typeParameters?: TypeParameterDeclaration$1 | null;
    supertype?: FlowType$1 | null;
    impltype?: FlowType$1 | null;
}
interface DeclareVariable$1 extends BaseNode$1 {
    type: "DeclareVariable";
    id: Identifier$1;
}
interface DeclareExportDeclaration$1 extends BaseNode$1 {
    type: "DeclareExportDeclaration";
    declaration?: Flow$1 | null;
    specifiers?: Array<ExportSpecifier$1 | ExportNamespaceSpecifier$1> | null;
    source?: StringLiteral$1 | null;
    attributes?: Array<ImportAttribute$1> | null;
    /** @deprecated */
    assertions?: Array<ImportAttribute$1> | null;
    default?: boolean | null;
}
interface DeclareExportAllDeclaration$1 extends BaseNode$1 {
    type: "DeclareExportAllDeclaration";
    source: StringLiteral$1;
    attributes?: Array<ImportAttribute$1> | null;
    /** @deprecated */
    assertions?: Array<ImportAttribute$1> | null;
    exportKind?: "type" | "value" | null;
}
interface DeclaredPredicate$1 extends BaseNode$1 {
    type: "DeclaredPredicate";
    value: Flow$1;
}
interface ExistsTypeAnnotation$1 extends BaseNode$1 {
    type: "ExistsTypeAnnotation";
}
interface FunctionTypeAnnotation$1 extends BaseNode$1 {
    type: "FunctionTypeAnnotation";
    typeParameters?: TypeParameterDeclaration$1 | null;
    params: Array<FunctionTypeParam$1>;
    rest?: FunctionTypeParam$1 | null;
    returnType: FlowType$1;
    this?: FunctionTypeParam$1 | null;
}
interface FunctionTypeParam$1 extends BaseNode$1 {
    type: "FunctionTypeParam";
    name?: Identifier$1 | null;
    typeAnnotation: FlowType$1;
    optional?: boolean | null;
}
interface GenericTypeAnnotation$1 extends BaseNode$1 {
    type: "GenericTypeAnnotation";
    id: Identifier$1 | QualifiedTypeIdentifier$1;
    typeParameters?: TypeParameterInstantiation$1 | null;
}
interface InferredPredicate$1 extends BaseNode$1 {
    type: "InferredPredicate";
}
interface InterfaceExtends$1 extends BaseNode$1 {
    type: "InterfaceExtends";
    id: Identifier$1 | QualifiedTypeIdentifier$1;
    typeParameters?: TypeParameterInstantiation$1 | null;
}
interface InterfaceDeclaration$1 extends BaseNode$1 {
    type: "InterfaceDeclaration";
    id: Identifier$1;
    typeParameters?: TypeParameterDeclaration$1 | null;
    extends?: Array<InterfaceExtends$1> | null;
    body: ObjectTypeAnnotation$1;
}
interface InterfaceTypeAnnotation$1 extends BaseNode$1 {
    type: "InterfaceTypeAnnotation";
    extends?: Array<InterfaceExtends$1> | null;
    body: ObjectTypeAnnotation$1;
}
interface IntersectionTypeAnnotation$1 extends BaseNode$1 {
    type: "IntersectionTypeAnnotation";
    types: Array<FlowType$1>;
}
interface MixedTypeAnnotation$1 extends BaseNode$1 {
    type: "MixedTypeAnnotation";
}
interface EmptyTypeAnnotation$1 extends BaseNode$1 {
    type: "EmptyTypeAnnotation";
}
interface NullableTypeAnnotation$1 extends BaseNode$1 {
    type: "NullableTypeAnnotation";
    typeAnnotation: FlowType$1;
}
interface NumberLiteralTypeAnnotation$1 extends BaseNode$1 {
    type: "NumberLiteralTypeAnnotation";
    value: number;
}
interface NumberTypeAnnotation$1 extends BaseNode$1 {
    type: "NumberTypeAnnotation";
}
interface ObjectTypeAnnotation$1 extends BaseNode$1 {
    type: "ObjectTypeAnnotation";
    properties: Array<ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1>;
    indexers?: Array<ObjectTypeIndexer$1>;
    callProperties?: Array<ObjectTypeCallProperty$1>;
    internalSlots?: Array<ObjectTypeInternalSlot$1>;
    exact: boolean;
    inexact?: boolean | null;
}
interface ObjectTypeInternalSlot$1 extends BaseNode$1 {
    type: "ObjectTypeInternalSlot";
    id: Identifier$1;
    value: FlowType$1;
    optional: boolean;
    static: boolean;
    method: boolean;
}
interface ObjectTypeCallProperty$1 extends BaseNode$1 {
    type: "ObjectTypeCallProperty";
    value: FlowType$1;
    static: boolean;
}
interface ObjectTypeIndexer$1 extends BaseNode$1 {
    type: "ObjectTypeIndexer";
    id?: Identifier$1 | null;
    key: FlowType$1;
    value: FlowType$1;
    variance?: Variance$1 | null;
    static: boolean;
}
interface ObjectTypeProperty$1 extends BaseNode$1 {
    type: "ObjectTypeProperty";
    key: Identifier$1 | StringLiteral$1;
    value: FlowType$1;
    variance?: Variance$1 | null;
    kind: "init" | "get" | "set";
    method: boolean;
    optional: boolean;
    proto: boolean;
    static: boolean;
}
interface ObjectTypeSpreadProperty$1 extends BaseNode$1 {
    type: "ObjectTypeSpreadProperty";
    argument: FlowType$1;
}
interface OpaqueType$1 extends BaseNode$1 {
    type: "OpaqueType";
    id: Identifier$1;
    typeParameters?: TypeParameterDeclaration$1 | null;
    supertype?: FlowType$1 | null;
    impltype: FlowType$1;
}
interface QualifiedTypeIdentifier$1 extends BaseNode$1 {
    type: "QualifiedTypeIdentifier";
    id: Identifier$1;
    qualification: Identifier$1 | QualifiedTypeIdentifier$1;
}
interface StringLiteralTypeAnnotation$1 extends BaseNode$1 {
    type: "StringLiteralTypeAnnotation";
    value: string;
}
interface StringTypeAnnotation$1 extends BaseNode$1 {
    type: "StringTypeAnnotation";
}
interface SymbolTypeAnnotation$1 extends BaseNode$1 {
    type: "SymbolTypeAnnotation";
}
interface ThisTypeAnnotation$1 extends BaseNode$1 {
    type: "ThisTypeAnnotation";
}
interface TupleTypeAnnotation$1 extends BaseNode$1 {
    type: "TupleTypeAnnotation";
    types: Array<FlowType$1>;
}
interface TypeofTypeAnnotation$1 extends BaseNode$1 {
    type: "TypeofTypeAnnotation";
    argument: FlowType$1;
}
interface TypeAlias$1 extends BaseNode$1 {
    type: "TypeAlias";
    id: Identifier$1;
    typeParameters?: TypeParameterDeclaration$1 | null;
    right: FlowType$1;
}
interface TypeAnnotation$1 extends BaseNode$1 {
    type: "TypeAnnotation";
    typeAnnotation: FlowType$1;
}
interface TypeCastExpression$1 extends BaseNode$1 {
    type: "TypeCastExpression";
    expression: Expression$1;
    typeAnnotation: TypeAnnotation$1;
}
interface TypeParameter$1 extends BaseNode$1 {
    type: "TypeParameter";
    bound?: TypeAnnotation$1 | null;
    default?: FlowType$1 | null;
    variance?: Variance$1 | null;
    name: string;
}
interface TypeParameterDeclaration$1 extends BaseNode$1 {
    type: "TypeParameterDeclaration";
    params: Array<TypeParameter$1>;
}
interface TypeParameterInstantiation$1 extends BaseNode$1 {
    type: "TypeParameterInstantiation";
    params: Array<FlowType$1>;
}
interface UnionTypeAnnotation$1 extends BaseNode$1 {
    type: "UnionTypeAnnotation";
    types: Array<FlowType$1>;
}
interface Variance$1 extends BaseNode$1 {
    type: "Variance";
    kind: "minus" | "plus";
}
interface VoidTypeAnnotation$1 extends BaseNode$1 {
    type: "VoidTypeAnnotation";
}
interface EnumDeclaration$1 extends BaseNode$1 {
    type: "EnumDeclaration";
    id: Identifier$1;
    body: EnumBooleanBody$1 | EnumNumberBody$1 | EnumStringBody$1 | EnumSymbolBody$1;
}
interface EnumBooleanBody$1 extends BaseNode$1 {
    type: "EnumBooleanBody";
    members: Array<EnumBooleanMember$1>;
    explicitType: boolean;
    hasUnknownMembers: boolean;
}
interface EnumNumberBody$1 extends BaseNode$1 {
    type: "EnumNumberBody";
    members: Array<EnumNumberMember$1>;
    explicitType: boolean;
    hasUnknownMembers: boolean;
}
interface EnumStringBody$1 extends BaseNode$1 {
    type: "EnumStringBody";
    members: Array<EnumStringMember$1 | EnumDefaultedMember$1>;
    explicitType: boolean;
    hasUnknownMembers: boolean;
}
interface EnumSymbolBody$1 extends BaseNode$1 {
    type: "EnumSymbolBody";
    members: Array<EnumDefaultedMember$1>;
    hasUnknownMembers: boolean;
}
interface EnumBooleanMember$1 extends BaseNode$1 {
    type: "EnumBooleanMember";
    id: Identifier$1;
    init: BooleanLiteral$1;
}
interface EnumNumberMember$1 extends BaseNode$1 {
    type: "EnumNumberMember";
    id: Identifier$1;
    init: NumericLiteral$1;
}
interface EnumStringMember$1 extends BaseNode$1 {
    type: "EnumStringMember";
    id: Identifier$1;
    init: StringLiteral$1;
}
interface EnumDefaultedMember$1 extends BaseNode$1 {
    type: "EnumDefaultedMember";
    id: Identifier$1;
}
interface IndexedAccessType$1 extends BaseNode$1 {
    type: "IndexedAccessType";
    objectType: FlowType$1;
    indexType: FlowType$1;
}
interface OptionalIndexedAccessType$1 extends BaseNode$1 {
    type: "OptionalIndexedAccessType";
    objectType: FlowType$1;
    indexType: FlowType$1;
    optional: boolean;
}
interface JSXAttribute$1 extends BaseNode$1 {
    type: "JSXAttribute";
    name: JSXIdentifier$1 | JSXNamespacedName$1;
    value?: JSXElement$1 | JSXFragment$1 | StringLiteral$1 | JSXExpressionContainer$1 | null;
}
interface JSXClosingElement$1 extends BaseNode$1 {
    type: "JSXClosingElement";
    name: JSXIdentifier$1 | JSXMemberExpression$1 | JSXNamespacedName$1;
}
interface JSXElement$1 extends BaseNode$1 {
    type: "JSXElement";
    openingElement: JSXOpeningElement$1;
    closingElement?: JSXClosingElement$1 | null;
    children: Array<JSXText$1 | JSXExpressionContainer$1 | JSXSpreadChild$1 | JSXElement$1 | JSXFragment$1>;
    selfClosing?: boolean | null;
}
interface JSXEmptyExpression$1 extends BaseNode$1 {
    type: "JSXEmptyExpression";
}
interface JSXExpressionContainer$1 extends BaseNode$1 {
    type: "JSXExpressionContainer";
    expression: Expression$1 | JSXEmptyExpression$1;
}
interface JSXSpreadChild$1 extends BaseNode$1 {
    type: "JSXSpreadChild";
    expression: Expression$1;
}
interface JSXIdentifier$1 extends BaseNode$1 {
    type: "JSXIdentifier";
    name: string;
}
interface JSXMemberExpression$1 extends BaseNode$1 {
    type: "JSXMemberExpression";
    object: JSXMemberExpression$1 | JSXIdentifier$1;
    property: JSXIdentifier$1;
}
interface JSXNamespacedName$1 extends BaseNode$1 {
    type: "JSXNamespacedName";
    namespace: JSXIdentifier$1;
    name: JSXIdentifier$1;
}
interface JSXOpeningElement$1 extends BaseNode$1 {
    type: "JSXOpeningElement";
    name: JSXIdentifier$1 | JSXMemberExpression$1 | JSXNamespacedName$1;
    attributes: Array<JSXAttribute$1 | JSXSpreadAttribute$1>;
    selfClosing: boolean;
    typeArguments?: TypeParameterInstantiation$1 | null;
    typeParameters?: TSTypeParameterInstantiation$1 | null;
}
interface JSXSpreadAttribute$1 extends BaseNode$1 {
    type: "JSXSpreadAttribute";
    argument: Expression$1;
}
interface JSXText$1 extends BaseNode$1 {
    type: "JSXText";
    value: string;
}
interface JSXFragment$1 extends BaseNode$1 {
    type: "JSXFragment";
    openingFragment: JSXOpeningFragment$1;
    closingFragment: JSXClosingFragment$1;
    children: Array<JSXText$1 | JSXExpressionContainer$1 | JSXSpreadChild$1 | JSXElement$1 | JSXFragment$1>;
}
interface JSXOpeningFragment$1 extends BaseNode$1 {
    type: "JSXOpeningFragment";
}
interface JSXClosingFragment$1 extends BaseNode$1 {
    type: "JSXClosingFragment";
}
interface Noop$1 extends BaseNode$1 {
    type: "Noop";
}
interface Placeholder$1 extends BaseNode$1 {
    type: "Placeholder";
    expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern";
    name: Identifier$1;
    decorators?: Array<Decorator$1> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null;
}
interface V8IntrinsicIdentifier$1 extends BaseNode$1 {
    type: "V8IntrinsicIdentifier";
    name: string;
}
interface ArgumentPlaceholder$1 extends BaseNode$1 {
    type: "ArgumentPlaceholder";
}
interface BindExpression$1 extends BaseNode$1 {
    type: "BindExpression";
    object: Expression$1;
    callee: Expression$1;
}
interface ImportAttribute$1 extends BaseNode$1 {
    type: "ImportAttribute";
    key: Identifier$1 | StringLiteral$1;
    value: StringLiteral$1;
}
interface Decorator$1 extends BaseNode$1 {
    type: "Decorator";
    expression: Expression$1;
}
interface DoExpression$1 extends BaseNode$1 {
    type: "DoExpression";
    body: BlockStatement$1;
    async: boolean;
}
interface ExportDefaultSpecifier$1 extends BaseNode$1 {
    type: "ExportDefaultSpecifier";
    exported: Identifier$1;
}
interface RecordExpression$1 extends BaseNode$1 {
    type: "RecordExpression";
    properties: Array<ObjectProperty$1 | SpreadElement$1>;
}
interface TupleExpression$1 extends BaseNode$1 {
    type: "TupleExpression";
    elements: Array<Expression$1 | SpreadElement$1>;
}
interface DecimalLiteral$1 extends BaseNode$1 {
    type: "DecimalLiteral";
    value: string;
}
interface ModuleExpression$1 extends BaseNode$1 {
    type: "ModuleExpression";
    body: Program$1;
}
interface TopicReference$1 extends BaseNode$1 {
    type: "TopicReference";
}
interface PipelineTopicExpression$1 extends BaseNode$1 {
    type: "PipelineTopicExpression";
    expression: Expression$1;
}
interface PipelineBareFunction$1 extends BaseNode$1 {
    type: "PipelineBareFunction";
    callee: Expression$1;
}
interface PipelinePrimaryTopicReference$1 extends BaseNode$1 {
    type: "PipelinePrimaryTopicReference";
}
interface TSParameterProperty$1 extends BaseNode$1 {
    type: "TSParameterProperty";
    parameter: Identifier$1 | AssignmentPattern$1;
    accessibility?: "public" | "private" | "protected" | null;
    decorators?: Array<Decorator$1> | null;
    override?: boolean | null;
    readonly?: boolean | null;
}
interface TSDeclareFunction$1 extends BaseNode$1 {
    type: "TSDeclareFunction";
    id?: Identifier$1 | null;
    typeParameters?: TSTypeParameterDeclaration$1 | Noop$1 | null;
    params: Array<Identifier$1 | Pattern$1 | RestElement$1>;
    returnType?: TSTypeAnnotation$1 | Noop$1 | null;
    async?: boolean;
    declare?: boolean | null;
    generator?: boolean;
}
interface TSDeclareMethod$1 extends BaseNode$1 {
    type: "TSDeclareMethod";
    decorators?: Array<Decorator$1> | null;
    key: Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | Expression$1;
    typeParameters?: TSTypeParameterDeclaration$1 | Noop$1 | null;
    params: Array<Identifier$1 | Pattern$1 | RestElement$1 | TSParameterProperty$1>;
    returnType?: TSTypeAnnotation$1 | Noop$1 | 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;
    override?: boolean;
    static?: boolean;
}
interface TSQualifiedName$1 extends BaseNode$1 {
    type: "TSQualifiedName";
    left: TSEntityName$1;
    right: Identifier$1;
}
interface TSCallSignatureDeclaration$1 extends BaseNode$1 {
    type: "TSCallSignatureDeclaration";
    typeParameters?: TSTypeParameterDeclaration$1 | null;
    parameters: Array<ArrayPattern$1 | Identifier$1 | ObjectPattern$1 | RestElement$1>;
    typeAnnotation?: TSTypeAnnotation$1 | null;
}
interface TSConstructSignatureDeclaration$1 extends BaseNode$1 {
    type: "TSConstructSignatureDeclaration";
    typeParameters?: TSTypeParameterDeclaration$1 | null;
    parameters: Array<ArrayPattern$1 | Identifier$1 | ObjectPattern$1 | RestElement$1>;
    typeAnnotation?: TSTypeAnnotation$1 | null;
}
interface TSPropertySignature$1 extends BaseNode$1 {
    type: "TSPropertySignature";
    key: Expression$1;
    typeAnnotation?: TSTypeAnnotation$1 | null;
    computed?: boolean;
    kind?: "get" | "set" | null;
    optional?: boolean | null;
    readonly?: boolean | null;
}
interface TSMethodSignature$1 extends BaseNode$1 {
    type: "TSMethodSignature";
    key: Expression$1;
    typeParameters?: TSTypeParameterDeclaration$1 | null;
    parameters: Array<ArrayPattern$1 | Identifier$1 | ObjectPattern$1 | RestElement$1>;
    typeAnnotation?: TSTypeAnnotation$1 | null;
    computed?: boolean;
    kind: "method" | "get" | "set";
    optional?: boolean | null;
}
interface TSIndexSignature$1 extends BaseNode$1 {
    type: "TSIndexSignature";
    parameters: Array<Identifier$1>;
    typeAnnotation?: TSTypeAnnotation$1 | null;
    readonly?: boolean | null;
    static?: boolean | null;
}
interface TSAnyKeyword$1 extends BaseNode$1 {
    type: "TSAnyKeyword";
}
interface TSBooleanKeyword$1 extends BaseNode$1 {
    type: "TSBooleanKeyword";
}
interface TSBigIntKeyword$1 extends BaseNode$1 {
    type: "TSBigIntKeyword";
}
interface TSIntrinsicKeyword$1 extends BaseNode$1 {
    type: "TSIntrinsicKeyword";
}
interface TSNeverKeyword$1 extends BaseNode$1 {
    type: "TSNeverKeyword";
}
interface TSNullKeyword$1 extends BaseNode$1 {
    type: "TSNullKeyword";
}
interface TSNumberKeyword$1 extends BaseNode$1 {
    type: "TSNumberKeyword";
}
interface TSObjectKeyword$1 extends BaseNode$1 {
    type: "TSObjectKeyword";
}
interface TSStringKeyword$1 extends BaseNode$1 {
    type: "TSStringKeyword";
}
interface TSSymbolKeyword$1 extends BaseNode$1 {
    type: "TSSymbolKeyword";
}
interface TSUndefinedKeyword$1 extends BaseNode$1 {
    type: "TSUndefinedKeyword";
}
interface TSUnknownKeyword$1 extends BaseNode$1 {
    type: "TSUnknownKeyword";
}
interface TSVoidKeyword$1 extends BaseNode$1 {
    type: "TSVoidKeyword";
}
interface TSThisType$1 extends BaseNode$1 {
    type: "TSThisType";
}
interface TSFunctionType$1 extends BaseNode$1 {
    type: "TSFunctionType";
    typeParameters?: TSTypeParameterDeclaration$1 | null;
    parameters: Array<ArrayPattern$1 | Identifier$1 | ObjectPattern$1 | RestElement$1>;
    typeAnnotation?: TSTypeAnnotation$1 | null;
}
interface TSConstructorType$1 extends BaseNode$1 {
    type: "TSConstructorType";
    typeParameters?: TSTypeParameterDeclaration$1 | null;
    parameters: Array<ArrayPattern$1 | Identifier$1 | ObjectPattern$1 | RestElement$1>;
    typeAnnotation?: TSTypeAnnotation$1 | null;
    abstract?: boolean | null;
}
interface TSTypeReference$1 extends BaseNode$1 {
    type: "TSTypeReference";
    typeName: TSEntityName$1;
    typeParameters?: TSTypeParameterInstantiation$1 | null;
}
interface TSTypePredicate$1 extends BaseNode$1 {
    type: "TSTypePredicate";
    parameterName: Identifier$1 | TSThisType$1;
    typeAnnotation?: TSTypeAnnotation$1 | null;
    asserts?: boolean | null;
}
interface TSTypeQuery$1 extends BaseNode$1 {
    type: "TSTypeQuery";
    exprName: TSEntityName$1 | TSImportType$1;
    typeParameters?: TSTypeParameterInstantiation$1 | null;
}
interface TSTypeLiteral$1 extends BaseNode$1 {
    type: "TSTypeLiteral";
    members: Array<TSTypeElement$1>;
}
interface TSArrayType$1 extends BaseNode$1 {
    type: "TSArrayType";
    elementType: TSType$1;
}
interface TSTupleType$1 extends BaseNode$1 {
    type: "TSTupleType";
    elementTypes: Array<TSType$1 | TSNamedTupleMember$1>;
}
interface TSOptionalType$1 extends BaseNode$1 {
    type: "TSOptionalType";
    typeAnnotation: TSType$1;
}
interface TSRestType$1 extends BaseNode$1 {
    type: "TSRestType";
    typeAnnotation: TSType$1;
}
interface TSNamedTupleMember$1 extends BaseNode$1 {
    type: "TSNamedTupleMember";
    label: Identifier$1;
    elementType: TSType$1;
    optional: boolean;
}
interface TSUnionType$1 extends BaseNode$1 {
    type: "TSUnionType";
    types: Array<TSType$1>;
}
interface TSIntersectionType$1 extends BaseNode$1 {
    type: "TSIntersectionType";
    types: Array<TSType$1>;
}
interface TSConditionalType$1 extends BaseNode$1 {
    type: "TSConditionalType";
    checkType: TSType$1;
    extendsType: TSType$1;
    trueType: TSType$1;
    falseType: TSType$1;
}
interface TSInferType$1 extends BaseNode$1 {
    type: "TSInferType";
    typeParameter: TSTypeParameter$1;
}
interface TSParenthesizedType$1 extends BaseNode$1 {
    type: "TSParenthesizedType";
    typeAnnotation: TSType$1;
}
interface TSTypeOperator$1 extends BaseNode$1 {
    type: "TSTypeOperator";
    typeAnnotation: TSType$1;
    operator: string;
}
interface TSIndexedAccessType$1 extends BaseNode$1 {
    type: "TSIndexedAccessType";
    objectType: TSType$1;
    indexType: TSType$1;
}
interface TSMappedType$1 extends BaseNode$1 {
    type: "TSMappedType";
    typeParameter: TSTypeParameter$1;
    typeAnnotation?: TSType$1 | null;
    nameType?: TSType$1 | null;
    optional?: true | false | "+" | "-" | null;
    readonly?: true | false | "+" | "-" | null;
}
interface TSTemplateLiteralType extends BaseNode$1 {
    type: "TSTemplateLiteralType";
    quasis: Array<TemplateElement$1>;
    types: Array<TSType$1>;
}
interface TSLiteralType$1 extends BaseNode$1 {
    type: "TSLiteralType";
    literal: NumericLiteral$1 | StringLiteral$1 | BooleanLiteral$1 | BigIntLiteral$1 | TemplateLiteral$1 | UnaryExpression$1;
}
interface TSExpressionWithTypeArguments$1 extends BaseNode$1 {
    type: "TSExpressionWithTypeArguments";
    expression: TSEntityName$1;
    typeParameters?: TSTypeParameterInstantiation$1 | null;
}
interface TSInterfaceDeclaration$1 extends BaseNode$1 {
    type: "TSInterfaceDeclaration";
    id: Identifier$1;
    typeParameters?: TSTypeParameterDeclaration$1 | null;
    extends?: Array<TSExpressionWithTypeArguments$1> | null;
    body: TSInterfaceBody$1;
    declare?: boolean | null;
}
interface TSInterfaceBody$1 extends BaseNode$1 {
    type: "TSInterfaceBody";
    body: Array<TSTypeElement$1>;
}
interface TSTypeAliasDeclaration$1 extends BaseNode$1 {
    type: "TSTypeAliasDeclaration";
    id: Identifier$1;
    typeParameters?: TSTypeParameterDeclaration$1 | null;
    typeAnnotation: TSType$1;
    declare?: boolean | null;
}
interface TSInstantiationExpression$1 extends BaseNode$1 {
    type: "TSInstantiationExpression";
    expression: Expression$1;
    typeParameters?: TSTypeParameterInstantiation$1 | null;
}
interface TSAsExpression$1 extends BaseNode$1 {
    type: "TSAsExpression";
    expression: Expression$1;
    typeAnnotation: TSType$1;
}
interface TSSatisfiesExpression$1 extends BaseNode$1 {
    type: "TSSatisfiesExpression";
    expression: Expression$1;
    typeAnnotation: TSType$1;
}
interface TSTypeAssertion$1 extends BaseNode$1 {
    type: "TSTypeAssertion";
    typeAnnotation: TSType$1;
    expression: Expression$1;
}
interface TSEnumBody$1 extends BaseNode$1 {
    type: "TSEnumBody";
    members: Array<TSEnumMember$1>;
}
interface TSEnumDeclaration$1 extends BaseNode$1 {
    type: "TSEnumDeclaration";
    id: Identifier$1;
    members: Array<TSEnumMember$1>;
    body?: TSEnumBody$1 | null;
    const?: boolean | null;
    declare?: boolean | null;
    initializer?: Expression$1 | null;
}
interface TSEnumMember$1 extends BaseNode$1 {
    type: "TSEnumMember";
    id: Identifier$1 | StringLiteral$1;
    initializer?: Expression$1 | null;
}
interface TSModuleDeclaration$1 extends BaseNode$1 {
    type: "TSModuleDeclaration";
    id: Identifier$1 | StringLiteral$1;
    body: TSModuleBlock$1 | TSModuleDeclaration$1;
    declare?: boolean | null;
    global?: boolean | null;
    kind: "global" | "module" | "namespace";
}
interface TSModuleBlock$1 extends BaseNode$1 {
    type: "TSModuleBlock";
    body: Array<Statement$1>;
}
interface TSImportType$1 extends BaseNode$1 {
    type: "TSImportType";
    argument: StringLiteral$1;
    qualifier?: TSEntityName$1 | null;
    typeParameters?: TSTypeParameterInstantiation$1 | null;
    options?: Expression$1 | null;
}
interface TSImportEqualsDeclaration$1 extends BaseNode$1 {
    type: "TSImportEqualsDeclaration";
    id: Identifier$1;
    moduleReference: TSEntityName$1 | TSExternalModuleReference$1;
    importKind?: "type" | "value" | null;
    isExport: boolean;
}
interface TSExternalModuleReference$1 extends BaseNode$1 {
    type: "TSExternalModuleReference";
    expression: StringLiteral$1;
}
interface TSNonNullExpression$1 extends BaseNode$1 {
    type: "TSNonNullExpression";
    expression: Expression$1;
}
interface TSExportAssignment$1 extends BaseNode$1 {
    type: "TSExportAssignment";
    expression: Expression$1;
}
interface TSNamespaceExportDeclaration$1 extends BaseNode$1 {
    type: "TSNamespaceExportDeclaration";
    id: Identifier$1;
}
interface TSTypeAnnotation$1 extends BaseNode$1 {
    type: "TSTypeAnnotation";
    typeAnnotation: TSType$1;
}
interface TSTypeParameterInstantiation$1 extends BaseNode$1 {
    type: "TSTypeParameterInstantiation";
    params: Array<TSType$1>;
}
interface TSTypeParameterDeclaration$1 extends BaseNode$1 {
    type: "TSTypeParameterDeclaration";
    params: Array<TSTypeParameter$1>;
}
interface TSTypeParameter$1 extends BaseNode$1 {
    type: "TSTypeParameter";
    constraint?: TSType$1 | null;
    default?: TSType$1 | null;
    name: string;
    const?: boolean | null;
    in?: boolean | null;
    out?: boolean | null;
}
type Standardized = ArrayExpression$1 | AssignmentExpression$1 | BinaryExpression$1 | InterpreterDirective$1 | Directive$1 | DirectiveLiteral$1 | BlockStatement$1 | BreakStatement$1 | CallExpression$1 | CatchClause$1 | ConditionalExpression$1 | ContinueStatement$1 | DebuggerStatement$1 | DoWhileStatement$1 | EmptyStatement$1 | ExpressionStatement$1 | File$1 | ForInStatement$1 | ForStatement$1 | FunctionDeclaration$1 | FunctionExpression$1 | Identifier$1 | IfStatement$1 | LabeledStatement$1 | StringLiteral$1 | NumericLiteral$1 | NullLiteral$1 | BooleanLiteral$1 | RegExpLiteral$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | Program$1 | ObjectExpression$1 | ObjectMethod$1 | ObjectProperty$1 | RestElement$1 | ReturnStatement$1 | SequenceExpression$1 | ParenthesizedExpression$1 | SwitchCase$1 | SwitchStatement$1 | ThisExpression$1 | ThrowStatement$1 | TryStatement$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclaration$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | AssignmentPattern$1 | ArrayPattern$1 | ArrowFunctionExpression$1 | ClassBody$1 | ClassExpression$1 | ClassDeclaration$1 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ExportSpecifier$1 | ForOfStatement$1 | ImportDeclaration$1 | ImportDefaultSpecifier$1 | ImportNamespaceSpecifier$1 | ImportSpecifier$1 | ImportExpression$1 | MetaProperty$1 | ClassMethod$1 | ObjectPattern$1 | SpreadElement$1 | Super$1 | TaggedTemplateExpression$1 | TemplateElement$1 | TemplateLiteral$1 | YieldExpression$1 | AwaitExpression$1 | Import$1 | BigIntLiteral$1 | ExportNamespaceSpecifier$1 | OptionalMemberExpression$1 | OptionalCallExpression$1 | ClassProperty$1 | ClassAccessorProperty$1 | ClassPrivateProperty$1 | ClassPrivateMethod$1 | PrivateName$1 | StaticBlock$1;
type Expression$1 = ArrayExpression$1 | AssignmentExpression$1 | BinaryExpression$1 | CallExpression$1 | ConditionalExpression$1 | FunctionExpression$1 | Identifier$1 | StringLiteral$1 | NumericLiteral$1 | NullLiteral$1 | BooleanLiteral$1 | RegExpLiteral$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectExpression$1 | SequenceExpression$1 | ParenthesizedExpression$1 | ThisExpression$1 | UnaryExpression$1 | UpdateExpression$1 | ArrowFunctionExpression$1 | ClassExpression$1 | ImportExpression$1 | MetaProperty$1 | Super$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | YieldExpression$1 | AwaitExpression$1 | Import$1 | BigIntLiteral$1 | OptionalMemberExpression$1 | OptionalCallExpression$1 | TypeCastExpression$1 | JSXElement$1 | JSXFragment$1 | BindExpression$1 | DoExpression$1 | RecordExpression$1 | TupleExpression$1 | DecimalLiteral$1 | ModuleExpression$1 | TopicReference$1 | PipelineTopicExpression$1 | PipelineBareFunction$1 | PipelinePrimaryTopicReference$1 | TSInstantiationExpression$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TSNonNullExpression$1;
type Binary = BinaryExpression$1 | LogicalExpression$1;
type Scopable = BlockStatement$1 | CatchClause$1 | DoWhileStatement$1 | ForInStatement$1 | ForStatement$1 | FunctionDeclaration$1 | FunctionExpression$1 | Program$1 | ObjectMethod$1 | SwitchStatement$1 | WhileStatement$1 | ArrowFunctionExpression$1 | ClassExpression$1 | ClassDeclaration$1 | ForOfStatement$1 | ClassMethod$1 | ClassPrivateMethod$1 | StaticBlock$1 | TSModuleBlock$1;
type BlockParent = BlockStatement$1 | CatchClause$1 | DoWhileStatement$1 | ForInStatement$1 | ForStatement$1 | FunctionDeclaration$1 | FunctionExpression$1 | Program$1 | ObjectMethod$1 | SwitchStatement$1 | WhileStatement$1 | ArrowFunctionExpression$1 | ForOfStatement$1 | ClassMethod$1 | ClassPrivateMethod$1 | StaticBlock$1 | TSModuleBlock$1;
type Block = BlockStatement$1 | Program$1 | TSModuleBlock$1;
type Statement$1 = BlockStatement$1 | BreakStatement$1 | ContinueStatement$1 | DebuggerStatement$1 | DoWhileStatement$1 | EmptyStatement$1 | ExpressionStatement$1 | ForInStatement$1 | ForStatement$1 | FunctionDeclaration$1 | IfStatement$1 | LabeledStatement$1 | ReturnStatement$1 | SwitchStatement$1 | ThrowStatement$1 | TryStatement$1 | VariableDeclaration$1 | WhileStatement$1 | WithStatement$1 | ClassDeclaration$1 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ForOfStatement$1 | ImportDeclaration$1 | DeclareClass$1 | DeclareFunction$1 | DeclareInterface$1 | DeclareModule$1 | DeclareModuleExports$1 | DeclareTypeAlias$1 | DeclareOpaqueType$1 | DeclareVariable$1 | DeclareExportDeclaration$1 | DeclareExportAllDeclaration$1 | InterfaceDeclaration$1 | OpaqueType$1 | TypeAlias$1 | EnumDeclaration$1 | TSDeclareFunction$1 | TSInterfaceDeclaration$1 | TSTypeAliasDeclaration$1 | TSEnumDeclaration$1 | TSModuleDeclaration$1 | TSImportEqualsDeclaration$1 | TSExportAssignment$1 | TSNamespaceExportDeclaration$1;
type Terminatorless = BreakStatement$1 | ContinueStatement$1 | ReturnStatement$1 | ThrowStatement$1 | YieldExpression$1 | AwaitExpression$1;
type CompletionStatement = BreakStatement$1 | ContinueStatement$1 | ReturnStatement$1 | ThrowStatement$1;
type Conditional = ConditionalExpression$1 | IfStatement$1;
type Loop = DoWhileStatement$1 | ForInStatement$1 | ForStatement$1 | WhileStatement$1 | ForOfStatement$1;
type While = DoWhileStatement$1 | WhileStatement$1;
type ExpressionWrapper = ExpressionStatement$1 | ParenthesizedExpression$1 | TypeCastExpression$1;
type For = ForInStatement$1 | ForStatement$1 | ForOfStatement$1;
type ForXStatement = ForInStatement$1 | ForOfStatement$1;
type Function = FunctionDeclaration$1 | FunctionExpression$1 | ObjectMethod$1 | ArrowFunctionExpression$1 | ClassMethod$1 | ClassPrivateMethod$1;
type FunctionParent = FunctionDeclaration$1 | FunctionExpression$1 | ObjectMethod$1 | ArrowFunctionExpression$1 | ClassMethod$1 | ClassPrivateMethod$1 | StaticBlock$1 | TSModuleBlock$1;
type Pureish = FunctionDeclaration$1 | FunctionExpression$1 | StringLiteral$1 | NumericLiteral$1 | NullLiteral$1 | BooleanLiteral$1 | RegExpLiteral$1 | ArrowFunctionExpression$1 | BigIntLiteral$1 | DecimalLiteral$1;
type Declaration$1 = FunctionDeclaration$1 | VariableDeclaration$1 | ClassDeclaration$1 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ImportDeclaration$1 | DeclareClass$1 | DeclareFunction$1 | DeclareInterface$1 | DeclareModule$1 | DeclareModuleExports$1 | DeclareTypeAlias$1 | DeclareOpaqueType$1 | DeclareVariable$1 | DeclareExportDeclaration$1 | DeclareExportAllDeclaration$1 | InterfaceDeclaration$1 | OpaqueType$1 | TypeAlias$1 | EnumDeclaration$1 | TSDeclareFunction$1 | TSInterfaceDeclaration$1 | TSTypeAliasDeclaration$1 | TSEnumDeclaration$1 | TSModuleDeclaration$1 | TSImportEqualsDeclaration$1;
type PatternLike$1 = Identifier$1 | RestElement$1 | AssignmentPattern$1 | ArrayPattern$1 | ObjectPattern$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TSNonNullExpression$1;
type LVal$1 = Identifier$1 | MemberExpression$1 | RestElement$1 | AssignmentPattern$1 | ArrayPattern$1 | ObjectPattern$1 | TSParameterProperty$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TSNonNullExpression$1;
type TSEntityName$1 = Identifier$1 | TSQualifiedName$1;
type Literal = StringLiteral$1 | NumericLiteral$1 | NullLiteral$1 | BooleanLiteral$1 | RegExpLiteral$1 | TemplateLiteral$1 | BigIntLiteral$1 | DecimalLiteral$1;
type Immutable = StringLiteral$1 | NumericLiteral$1 | NullLiteral$1 | BooleanLiteral$1 | BigIntLiteral$1 | JSXAttribute$1 | JSXClosingElement$1 | JSXElement$1 | JSXExpressionContainer$1 | JSXSpreadChild$1 | JSXOpeningElement$1 | JSXText$1 | JSXFragment$1 | JSXOpeningFragment$1 | JSXClosingFragment$1 | DecimalLiteral$1;
type UserWhitespacable = ObjectMethod$1 | ObjectProperty$1 | ObjectTypeInternalSlot$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1;
type Method = ObjectMethod$1 | ClassMethod$1 | ClassPrivateMethod$1;
type ObjectMember = ObjectMethod$1 | ObjectProperty$1;
type Property = ObjectProperty$1 | ClassProperty$1 | ClassAccessorProperty$1 | ClassPrivateProperty$1;
type UnaryLike = UnaryExpression$1 | SpreadElement$1;
type Pattern$1 = AssignmentPattern$1 | ArrayPattern$1 | ObjectPattern$1;
type Class = ClassExpression$1 | ClassDeclaration$1;
type ImportOrExportDeclaration = ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ImportDeclaration$1;
type ExportDeclaration = ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1;
type ModuleSpecifier = ExportSpecifier$1 | ImportDefaultSpecifier$1 | ImportNamespaceSpecifier$1 | ImportSpecifier$1 | ExportNamespaceSpecifier$1 | ExportDefaultSpecifier$1;
type Accessor = ClassAccessorProperty$1;
type Private = ClassPrivateProperty$1 | ClassPrivateMethod$1 | PrivateName$1;
type Flow$1 = AnyTypeAnnotation$1 | ArrayTypeAnnotation$1 | BooleanTypeAnnotation$1 | BooleanLiteralTypeAnnotation$1 | NullLiteralTypeAnnotation$1 | ClassImplements$1 | DeclareClass$1 | DeclareFunction$1 | DeclareInterface$1 | DeclareModule$1 | DeclareModuleExports$1 | DeclareTypeAlias$1 | DeclareOpaqueType$1 | DeclareVariable$1 | DeclareExportDeclaration$1 | DeclareExportAllDeclaration$1 | DeclaredPredicate$1 | ExistsTypeAnnotation$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | GenericTypeAnnotation$1 | InferredPredicate$1 | InterfaceExtends$1 | InterfaceDeclaration$1 | InterfaceTypeAnnotation$1 | IntersectionTypeAnnotation$1 | MixedTypeAnnotation$1 | EmptyTypeAnnotation$1 | NullableTypeAnnotation$1 | NumberLiteralTypeAnnotation$1 | NumberTypeAnnotation$1 | ObjectTypeAnnotation$1 | ObjectTypeInternalSlot$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | QualifiedTypeIdentifier$1 | StringLiteralTypeAnnotation$1 | StringTypeAnnotation$1 | SymbolTypeAnnotation$1 | ThisTypeAnnotation$1 | TupleTypeAnnotation$1 | TypeofTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeCastExpression$1 | TypeParameter$1 | TypeParameterDeclaration$1 | TypeParameterInstantiation$1 | UnionTypeAnnotation$1 | Variance$1 | VoidTypeAnnotation$1 | EnumDeclaration$1 | EnumBooleanBody$1 | EnumNumberBody$1 | EnumStringBody$1 | EnumSymbolBody$1 | EnumBooleanMember$1 | EnumNumberMember$1 | EnumStringMember$1 | EnumDefaultedMember$1 | IndexedAccessType$1 | OptionalIndexedAccessType$1;
type FlowType$1 = AnyTypeAnnotation$1 | ArrayTypeAnnotation$1 | BooleanTypeAnnotation$1 | BooleanLiteralTypeAnnotation$1 | NullLiteralTypeAnnotation$1 | ExistsTypeAnnotation$1 | FunctionTypeAnnotation$1 | GenericTypeAnnotation$1 | InterfaceTypeAnnotation$1 | IntersectionTypeAnnotation$1 | MixedTypeAnnotation$1 | EmptyTypeAnnotation$1 | NullableTypeAnnotation$1 | NumberLiteralTypeAnnotation$1 | NumberTypeAnnotation$1 | ObjectTypeAnnotation$1 | StringLiteralTypeAnnotation$1 | StringTypeAnnotation$1 | SymbolTypeAnnotation$1 | ThisTypeAnnotation$1 | TupleTypeAnnotation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1 | VoidTypeAnnotation$1 | IndexedAccessType$1 | OptionalIndexedAccessType$1;
type FlowBaseAnnotation = AnyTypeAnnotation$1 | BooleanTypeAnnotation$1 | NullLiteralTypeAnnotation$1 | MixedTypeAnnotation$1 | EmptyTypeAnnotation$1 | NumberTypeAnnotation$1 | StringTypeAnnotation$1 | SymbolTypeAnnotation$1 | ThisTypeAnnotation$1 | VoidTypeAnnotation$1;
type FlowDeclaration = DeclareClass$1 | DeclareFunction$1 | DeclareInterface$1 | DeclareModule$1 | DeclareModuleExports$1 | DeclareTypeAlias$1 | DeclareOpaqueType$1 | DeclareVariable$1 | DeclareExportDeclaration$1 | DeclareExportAllDeclaration$1 | InterfaceDeclaration$1 | OpaqueType$1 | TypeAlias$1;
type FlowPredicate = DeclaredPredicate$1 | InferredPredicate$1;
type EnumBody = EnumBooleanBody$1 | EnumNumberBody$1 | EnumStringBody$1 | EnumSymbolBody$1;
type EnumMember = EnumBooleanMember$1 | EnumNumberMember$1 | EnumStringMember$1 | EnumDefaultedMember$1;
type JSX = JSXAttribute$1 | JSXClosingElement$1 | JSXElement$1 | JSXEmptyExpression$1 | JSXExpressionContainer$1 | JSXSpreadChild$1 | JSXIdentifier$1 | JSXMemberExpression$1 | JSXNamespacedName$1 | JSXOpeningElement$1 | JSXSpreadAttribute$1 | JSXText$1 | JSXFragment$1 | JSXOpeningFragment$1 | JSXClosingFragment$1;
type Miscellaneous = Noop$1 | Placeholder$1 | V8IntrinsicIdentifier$1;
type TypeScript = TSParameterProperty$1 | TSDeclareFunction$1 | TSDeclareMethod$1 | TSQualifiedName$1 | TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSPropertySignature$1 | TSMethodSignature$1 | TSIndexSignature$1 | TSAnyKeyword$1 | TSBooleanKeyword$1 | TSBigIntKeyword$1 | TSIntrinsicKeyword$1 | TSNeverKeyword$1 | TSNullKeyword$1 | TSNumberKeyword$1 | TSObjectKeyword$1 | TSStringKeyword$1 | TSSymbolKeyword$1 | TSUndefinedKeyword$1 | TSUnknownKeyword$1 | TSVoidKeyword$1 | TSThisType$1 | TSFunctionType$1 | TSConstructorType$1 | TSTypeReference$1 | TSTypePredicate$1 | TSTypeQuery$1 | TSTypeLiteral$1 | TSArrayType$1 | TSTupleType$1 | TSOptionalType$1 | TSRestType$1 | TSNamedTupleMember$1 | TSUnionType$1 | TSIntersectionType$1 | TSConditionalType$1 | TSInferType$1 | TSParenthesizedType$1 | TSTypeOperator$1 | TSIndexedAccessType$1 | TSMappedType$1 | TSTemplateLiteralType | TSLiteralType$1 | TSExpressionWithTypeArguments$1 | TSInterfaceDeclaration$1 | TSInterfaceBody$1 | TSTypeAliasDeclaration$1 | TSInstantiationExpression$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TSEnumBody$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSModuleDeclaration$1 | TSModuleBlock$1 | TSImportType$1 | TSImportEqualsDeclaration$1 | TSExternalModuleReference$1 | TSNonNullExpression$1 | TSExportAssignment$1 | TSNamespaceExportDeclaration$1 | TSTypeAnnotation$1 | TSTypeParameterInstantiation$1 | TSTypeParameterDeclaration$1 | TSTypeParameter$1;
type TSTypeElement$1 = TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSPropertySignature$1 | TSMethodSignature$1 | TSIndexSignature$1;
type TSType$1 = TSAnyKeyword$1 | TSBooleanKeyword$1 | TSBigIntKeyword$1 | TSIntrinsicKeyword$1 | TSNeverKeyword$1 | TSNullKeyword$1 | TSNumberKeyword$1 | TSObjectKeyword$1 | TSStringKeyword$1 | TSSymbolKeyword$1 | TSUndefinedKeyword$1 | TSUnknownKeyword$1 | TSVoidKeyword$1 | TSThisType$1 | TSFunctionType$1 | TSConstructorType$1 | TSTypeReference$1 | TSTypePredicate$1 | TSTypeQuery$1 | TSTypeLiteral$1 | TSArrayType$1 | TSTupleType$1 | TSOptionalType$1 | TSRestType$1 | TSUnionType$1 | TSIntersectionType$1 | TSConditionalType$1 | TSInferType$1 | TSParenthesizedType$1 | TSTypeOperator$1 | TSIndexedAccessType$1 | TSMappedType$1 | TSTemplateLiteralType | TSLiteralType$1 | TSExpressionWithTypeArguments$1 | TSImportType$1;
type TSBaseType = TSAnyKeyword$1 | TSBooleanKeyword$1 | TSBigIntKeyword$1 | TSIntrinsicKeyword$1 | TSNeverKeyword$1 | TSNullKeyword$1 | TSNumberKeyword$1 | TSObjectKeyword$1 | TSStringKeyword$1 | TSSymbolKeyword$1 | TSUndefinedKeyword$1 | TSUnknownKeyword$1 | TSVoidKeyword$1 | TSThisType$1 | TSTemplateLiteralType | TSLiteralType$1;
type ModuleDeclaration = ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ImportDeclaration$1;
interface Aliases {
    Standardized: Standardized;
    Expression: Expression$1;
    Binary: Binary;
    Scopable: Scopable;
    BlockParent: BlockParent;
    Block: Block;
    Statement: Statement$1;
    Terminatorless: Terminatorless;
    CompletionStatement: CompletionStatement;
    Conditional: Conditional;
    Loop: Loop;
    While: While;
    ExpressionWrapper: ExpressionWrapper;
    For: For;
    ForXStatement: ForXStatement;
    Function: Function;
    FunctionParent: FunctionParent;
    Pureish: Pureish;
    Declaration: Declaration$1;
    PatternLike: PatternLike$1;
    LVal: LVal$1;
    TSEntityName: TSEntityName$1;
    Literal: Literal;
    Immutable: Immutable;
    UserWhitespacable: UserWhitespacable;
    Method: Method;
    ObjectMember: ObjectMember;
    Property: Property;
    UnaryLike: UnaryLike;
    Pattern: Pattern$1;
    Class: Class;
    ImportOrExportDeclaration: ImportOrExportDeclaration;
    ExportDeclaration: ExportDeclaration;
    ModuleSpecifier: ModuleSpecifier;
    Accessor: Accessor;
    Private: Private;
    Flow: Flow$1;
    FlowType: FlowType$1;
    FlowBaseAnnotation: FlowBaseAnnotation;
    FlowDeclaration: FlowDeclaration;
    FlowPredicate: FlowPredicate;
    EnumBody: EnumBody;
    EnumMember: EnumMember;
    JSX: JSX;
    Miscellaneous: Miscellaneous;
    TypeScript: TypeScript;
    TSTypeElement: TSTypeElement$1;
    TSType: TSType$1;
    TSBaseType: TSBaseType;
    ModuleDeclaration: ModuleDeclaration;
}
type DeprecatedAliases = NumberLiteral$1 | RegexLiteral$1 | RestProperty$1 | SpreadProperty$1;
interface ParentMaps {
    AnyTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    ArgumentPlaceholder: CallExpression$1 | NewExpression$1 | OptionalCallExpression$1;
    ArrayExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    ArrayPattern: ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | CatchClause$1 | ClassMethod$1 | ClassPrivateMethod$1 | ForInStatement$1 | ForOfStatement$1 | FunctionDeclaration$1 | FunctionExpression$1 | ObjectMethod$1 | ObjectProperty$1 | RestElement$1 | TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSConstructorType$1 | TSDeclareFunction$1 | TSDeclareMethod$1 | TSFunctionType$1 | TSMethodSignature$1 | VariableDeclarator$1;
    ArrayTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    ArrowFunctionExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    AssignmentExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    AssignmentPattern: ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | ClassMethod$1 | ClassPrivateMethod$1 | ForInStatement$1 | ForOfStatement$1 | FunctionDeclaration$1 | FunctionExpression$1 | ObjectMethod$1 | ObjectProperty$1 | RestElement$1 | TSDeclareFunction$1 | TSDeclareMethod$1 | TSParameterProperty$1 | VariableDeclarator$1;
    AwaitExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    BigIntLiteral: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSLiteralType$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    BinaryExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    BindExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    BlockStatement: ArrowFunctionExpression$1 | BlockStatement$1 | CatchClause$1 | ClassMethod$1 | ClassPrivateMethod$1 | DeclareModule$1 | DoExpression$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | FunctionDeclaration$1 | FunctionExpression$1 | IfStatement$1 | LabeledStatement$1 | ObjectMethod$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | TryStatement$1 | WhileStatement$1 | WithStatement$1;
    BooleanLiteral: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | EnumBooleanMember$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSLiteralType$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    BooleanLiteralTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    BooleanTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    BreakStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    CallExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    CatchClause: TryStatement$1;
    ClassAccessorProperty: ClassBody$1;
    ClassBody: ClassDeclaration$1 | ClassExpression$1;
    ClassDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    ClassExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    ClassImplements: ClassDeclaration$1 | ClassExpression$1 | DeclareClass$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1;
    ClassMethod: ClassBody$1;
    ClassPrivateMethod: ClassBody$1;
    ClassPrivateProperty: ClassBody$1;
    ClassProperty: ClassBody$1;
    CommentBlock: File$1;
    CommentLine: File$1;
    ConditionalExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    ContinueStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DebuggerStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DecimalLiteral: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    DeclareClass: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DeclareExportAllDeclaration: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DeclareExportDeclaration: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DeclareFunction: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DeclareInterface: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DeclareModule: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DeclareModuleExports: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DeclareOpaqueType: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DeclareTypeAlias: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DeclareVariable: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    DeclaredPredicate: ArrowFunctionExpression$1 | DeclareExportDeclaration$1 | DeclareFunction$1 | DeclaredPredicate$1 | FunctionDeclaration$1 | FunctionExpression$1;
    Decorator: ArrayPattern$1 | AssignmentPattern$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | Identifier$1 | ObjectMethod$1 | ObjectPattern$1 | ObjectProperty$1 | Placeholder$1 | RestElement$1 | TSDeclareMethod$1 | TSParameterProperty$1;
    Directive: BlockStatement$1 | Program$1;
    DirectiveLiteral: Directive$1;
    DoExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    DoWhileStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    EmptyStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    EmptyTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    EnumBooleanBody: DeclareExportDeclaration$1 | DeclaredPredicate$1 | EnumDeclaration$1;
    EnumBooleanMember: DeclareExportDeclaration$1 | DeclaredPredicate$1 | EnumBooleanBody$1;
    EnumDeclaration: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    EnumDefaultedMember: DeclareExportDeclaration$1 | DeclaredPredicate$1 | EnumStringBody$1 | EnumSymbolBody$1;
    EnumNumberBody: DeclareExportDeclaration$1 | DeclaredPredicate$1 | EnumDeclaration$1;
    EnumNumberMember: DeclareExportDeclaration$1 | DeclaredPredicate$1 | EnumNumberBody$1;
    EnumStringBody: DeclareExportDeclaration$1 | DeclaredPredicate$1 | EnumDeclaration$1;
    EnumStringMember: DeclareExportDeclaration$1 | DeclaredPredicate$1 | EnumStringBody$1;
    EnumSymbolBody: DeclareExportDeclaration$1 | DeclaredPredicate$1 | EnumDeclaration$1;
    ExistsTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    ExportAllDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    ExportDefaultDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    ExportDefaultSpecifier: ExportNamedDeclaration$1;
    ExportNamedDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    ExportNamespaceSpecifier: DeclareExportDeclaration$1 | ExportNamedDeclaration$1;
    ExportSpecifier: DeclareExportDeclaration$1 | ExportNamedDeclaration$1;
    ExpressionStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    File: null;
    ForInStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    ForOfStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    ForStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    FunctionDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    FunctionExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    FunctionTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    FunctionTypeParam: DeclareExportDeclaration$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1;
    GenericTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    Identifier: ArrayExpression$1 | ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | BreakStatement$1 | CallExpression$1 | CatchClause$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassImplements$1 | ClassMethod$1 | ClassPrivateMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | ContinueStatement$1 | DeclareClass$1 | DeclareFunction$1 | DeclareInterface$1 | DeclareModule$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclareVariable$1 | Decorator$1 | DoWhileStatement$1 | EnumBooleanMember$1 | EnumDeclaration$1 | EnumDefaultedMember$1 | EnumNumberMember$1 | EnumStringMember$1 | ExportDefaultDeclaration$1 | ExportDefaultSpecifier$1 | ExportNamespaceSpecifier$1 | ExportSpecifier$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | FunctionDeclaration$1 | FunctionExpression$1 | FunctionTypeParam$1 | GenericTypeAnnotation$1 | IfStatement$1 | ImportAttribute$1 | ImportDefaultSpecifier$1 | ImportExpression$1 | ImportNamespaceSpecifier$1 | ImportSpecifier$1 | InterfaceDeclaration$1 | InterfaceExtends$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LabeledStatement$1 | LogicalExpression$1 | MemberExpression$1 | MetaProperty$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | OpaqueType$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | Placeholder$1 | PrivateName$1 | QualifiedTypeIdentifier$1 | RestElement$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSConstructorType$1 | TSDeclareFunction$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSExpressionWithTypeArguments$1 | TSFunctionType$1 | TSImportEqualsDeclaration$1 | TSImportType$1 | TSIndexSignature$1 | TSInstantiationExpression$1 | TSInterfaceDeclaration$1 | TSMethodSignature$1 | TSModuleDeclaration$1 | TSNamedTupleMember$1 | TSNamespaceExportDeclaration$1 | TSNonNullExpression$1 | TSParameterProperty$1 | TSPropertySignature$1 | TSQualifiedName$1 | TSSatisfiesExpression$1 | TSTypeAliasDeclaration$1 | TSTypeAssertion$1 | TSTypePredicate$1 | TSTypeQuery$1 | TSTypeReference$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeAlias$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    IfStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    Import: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    ImportAttribute: DeclareExportAllDeclaration$1 | DeclareExportDeclaration$1 | ExportAllDeclaration$1 | ExportNamedDeclaration$1 | ImportDeclaration$1;
    ImportDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    ImportDefaultSpecifier: ImportDeclaration$1;
    ImportExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    ImportNamespaceSpecifier: ImportDeclaration$1;
    ImportSpecifier: ImportDeclaration$1;
    IndexedAccessType: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    InferredPredicate: ArrowFunctionExpression$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | FunctionDeclaration$1 | FunctionExpression$1;
    InterfaceDeclaration: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    InterfaceExtends: ClassDeclaration$1 | ClassExpression$1 | DeclareClass$1 | DeclareExportDeclaration$1 | DeclareInterface$1 | DeclaredPredicate$1 | InterfaceDeclaration$1 | InterfaceTypeAnnotation$1;
    InterfaceTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    InterpreterDirective: Program$1;
    IntersectionTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    JSXAttribute: JSXOpeningElement$1;
    JSXClosingElement: JSXElement$1;
    JSXClosingFragment: JSXFragment$1;
    JSXElement: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXAttribute$1 | JSXElement$1 | JSXExpressionContainer$1 | JSXFragment$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    JSXEmptyExpression: JSXExpressionContainer$1;
    JSXExpressionContainer: JSXAttribute$1 | JSXElement$1 | JSXFragment$1;
    JSXFragment: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXAttribute$1 | JSXElement$1 | JSXExpressionContainer$1 | JSXFragment$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    JSXIdentifier: JSXAttribute$1 | JSXClosingElement$1 | JSXMemberExpression$1 | JSXNamespacedName$1 | JSXOpeningElement$1;
    JSXMemberExpression: JSXClosingElement$1 | JSXMemberExpression$1 | JSXOpeningElement$1;
    JSXNamespacedName: JSXAttribute$1 | JSXClosingElement$1 | JSXOpeningElement$1;
    JSXOpeningElement: JSXElement$1;
    JSXOpeningFragment: JSXFragment$1;
    JSXSpreadAttribute: JSXOpeningElement$1;
    JSXSpreadChild: JSXElement$1 | JSXFragment$1;
    JSXText: JSXElement$1 | JSXFragment$1;
    LabeledStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    LogicalExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    MemberExpression: ArrayExpression$1 | ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | RestElement$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    MetaProperty: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    MixedTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    ModuleExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    NewExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    Noop: ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentPattern$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | FunctionDeclaration$1 | FunctionExpression$1 | Identifier$1 | ObjectMethod$1 | ObjectPattern$1 | Placeholder$1 | RestElement$1 | TSDeclareFunction$1 | TSDeclareMethod$1;
    NullLiteral: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    NullLiteralTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    NullableTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    NumberLiteral: null;
    NumberLiteralTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    NumberTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    NumericLiteral: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | EnumNumberMember$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSLiteralType$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    ObjectExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    ObjectMethod: ObjectExpression$1;
    ObjectPattern: ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | CatchClause$1 | ClassMethod$1 | ClassPrivateMethod$1 | ForInStatement$1 | ForOfStatement$1 | FunctionDeclaration$1 | FunctionExpression$1 | ObjectMethod$1 | ObjectProperty$1 | RestElement$1 | TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSConstructorType$1 | TSDeclareFunction$1 | TSDeclareMethod$1 | TSFunctionType$1 | TSMethodSignature$1 | VariableDeclarator$1;
    ObjectProperty: ObjectExpression$1 | ObjectPattern$1 | RecordExpression$1;
    ObjectTypeAnnotation: ArrayTypeAnnotation$1 | DeclareClass$1 | DeclareExportDeclaration$1 | DeclareInterface$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | InterfaceDeclaration$1 | InterfaceTypeAnnotation$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    ObjectTypeCallProperty: DeclareExportDeclaration$1 | DeclaredPredicate$1 | ObjectTypeAnnotation$1;
    ObjectTypeIndexer: DeclareExportDeclaration$1 | DeclaredPredicate$1 | ObjectTypeAnnotation$1;
    ObjectTypeInternalSlot: DeclareExportDeclaration$1 | DeclaredPredicate$1 | ObjectTypeAnnotation$1;
    ObjectTypeProperty: DeclareExportDeclaration$1 | DeclaredPredicate$1 | ObjectTypeAnnotation$1;
    ObjectTypeSpreadProperty: DeclareExportDeclaration$1 | DeclaredPredicate$1 | ObjectTypeAnnotation$1;
    OpaqueType: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    OptionalCallExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    OptionalIndexedAccessType: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    OptionalMemberExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    ParenthesizedExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    PipelineBareFunction: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    PipelinePrimaryTopicReference: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    PipelineTopicExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    Placeholder: Node$2;
    PrivateName: BinaryExpression$1 | ClassAccessorProperty$1 | ClassPrivateMethod$1 | ClassPrivateProperty$1 | MemberExpression$1 | ObjectProperty$1;
    Program: File$1 | ModuleExpression$1;
    QualifiedTypeIdentifier: DeclareExportDeclaration$1 | DeclaredPredicate$1 | GenericTypeAnnotation$1 | InterfaceExtends$1 | QualifiedTypeIdentifier$1;
    RecordExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    RegExpLiteral: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    RegexLiteral: null;
    RestElement: ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | ClassMethod$1 | ClassPrivateMethod$1 | ForInStatement$1 | ForOfStatement$1 | FunctionDeclaration$1 | FunctionExpression$1 | ObjectMethod$1 | ObjectPattern$1 | ObjectProperty$1 | RestElement$1 | TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSConstructorType$1 | TSDeclareFunction$1 | TSDeclareMethod$1 | TSFunctionType$1 | TSMethodSignature$1 | VariableDeclarator$1;
    RestProperty: null;
    ReturnStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    SequenceExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    SpreadElement: ArrayExpression$1 | CallExpression$1 | NewExpression$1 | ObjectExpression$1 | OptionalCallExpression$1 | RecordExpression$1 | TupleExpression$1;
    SpreadProperty: null;
    StaticBlock: ClassBody$1;
    StringLiteral: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | DeclareExportAllDeclaration$1 | DeclareExportDeclaration$1 | DeclareModule$1 | Decorator$1 | DoWhileStatement$1 | EnumStringMember$1 | ExportAllDeclaration$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ExportSpecifier$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportAttribute$1 | ImportDeclaration$1 | ImportExpression$1 | ImportSpecifier$1 | JSXAttribute$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | ObjectTypeProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSExternalModuleReference$1 | TSImportType$1 | TSInstantiationExpression$1 | TSLiteralType$1 | TSMethodSignature$1 | TSModuleDeclaration$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    StringLiteralTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    StringTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    Super: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    SwitchCase: SwitchStatement$1;
    SwitchStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    SymbolTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    TSAnyKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSArrayType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSAsExpression: ArrayExpression$1 | ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | RestElement$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    TSBigIntKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSBooleanKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSCallSignatureDeclaration: TSInterfaceBody$1 | TSTypeLiteral$1;
    TSConditionalType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSConstructSignatureDeclaration: TSInterfaceBody$1 | TSTypeLiteral$1;
    TSConstructorType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSDeclareFunction: BlockStatement$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    TSDeclareMethod: ClassBody$1;
    TSEnumBody: TSEnumDeclaration$1;
    TSEnumDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    TSEnumMember: TSEnumBody$1 | TSEnumDeclaration$1;
    TSExportAssignment: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    TSExpressionWithTypeArguments: ClassDeclaration$1 | ClassExpression$1 | TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSInterfaceDeclaration$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSExternalModuleReference: TSImportEqualsDeclaration$1;
    TSFunctionType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSImportEqualsDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    TSImportType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSTypeQuery$1 | TSUnionType$1 | TemplateLiteral$1;
    TSIndexSignature: ClassBody$1 | TSInterfaceBody$1 | TSTypeLiteral$1;
    TSIndexedAccessType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSInferType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSInstantiationExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    TSInterfaceBody: TSInterfaceDeclaration$1;
    TSInterfaceDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    TSIntersectionType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSIntrinsicKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSLiteralType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSMappedType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSMethodSignature: TSInterfaceBody$1 | TSTypeLiteral$1;
    TSModuleBlock: TSModuleDeclaration$1;
    TSModuleDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | TSModuleDeclaration$1 | WhileStatement$1 | WithStatement$1;
    TSNamedTupleMember: TSTupleType$1;
    TSNamespaceExportDeclaration: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    TSNeverKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSNonNullExpression: ArrayExpression$1 | ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | RestElement$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    TSNullKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSNumberKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSObjectKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSOptionalType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSParameterProperty: ArrayPattern$1 | AssignmentExpression$1 | ClassMethod$1 | ClassPrivateMethod$1 | ForInStatement$1 | ForOfStatement$1 | RestElement$1 | TSDeclareMethod$1 | VariableDeclarator$1;
    TSParenthesizedType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSPropertySignature: TSInterfaceBody$1 | TSTypeLiteral$1;
    TSQualifiedName: TSExpressionWithTypeArguments$1 | TSImportEqualsDeclaration$1 | TSImportType$1 | TSQualifiedName$1 | TSTypeQuery$1 | TSTypeReference$1;
    TSRestType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSSatisfiesExpression: ArrayExpression$1 | ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | RestElement$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    TSStringKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSSymbolKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSTemplateLiteralType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSThisType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSTypePredicate$1 | TSUnionType$1 | TemplateLiteral$1;
    TSTupleType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSTypeAliasDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    TSTypeAnnotation: ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentPattern$1 | ClassAccessorProperty$1 | ClassMethod$1 | ClassPrivateMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | FunctionDeclaration$1 | FunctionExpression$1 | Identifier$1 | ObjectMethod$1 | ObjectPattern$1 | Placeholder$1 | RestElement$1 | TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSConstructorType$1 | TSDeclareFunction$1 | TSDeclareMethod$1 | TSFunctionType$1 | TSIndexSignature$1 | TSMethodSignature$1 | TSPropertySignature$1 | TSTypePredicate$1;
    TSTypeAssertion: ArrayExpression$1 | ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | RestElement$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    TSTypeLiteral: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSTypeOperator: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSTypeParameter: TSInferType$1 | TSMappedType$1 | TSTypeParameterDeclaration$1;
    TSTypeParameterDeclaration: ArrowFunctionExpression$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateMethod$1 | FunctionDeclaration$1 | FunctionExpression$1 | ObjectMethod$1 | TSCallSignatureDeclaration$1 | TSConstructSignatureDeclaration$1 | TSConstructorType$1 | TSDeclareFunction$1 | TSDeclareMethod$1 | TSFunctionType$1 | TSInterfaceDeclaration$1 | TSMethodSignature$1 | TSTypeAliasDeclaration$1;
    TSTypeParameterInstantiation: CallExpression$1 | ClassDeclaration$1 | ClassExpression$1 | JSXOpeningElement$1 | NewExpression$1 | OptionalCallExpression$1 | TSExpressionWithTypeArguments$1 | TSImportType$1 | TSInstantiationExpression$1 | TSTypeQuery$1 | TSTypeReference$1 | TaggedTemplateExpression$1;
    TSTypePredicate: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSTypeQuery: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSTypeReference: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSUndefinedKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSUnionType: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSUnknownKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TSVoidKeyword: TSArrayType$1 | TSAsExpression$1 | TSConditionalType$1 | TSIndexedAccessType$1 | TSIntersectionType$1 | TSMappedType$1 | TSNamedTupleMember$1 | TSOptionalType$1 | TSParenthesizedType$1 | TSRestType$1 | TSSatisfiesExpression$1 | TSTemplateLiteralType | TSTupleType$1 | TSTypeAliasDeclaration$1 | TSTypeAnnotation$1 | TSTypeAssertion$1 | TSTypeOperator$1 | TSTypeParameter$1 | TSTypeParameterInstantiation$1 | TSUnionType$1 | TemplateLiteral$1;
    TaggedTemplateExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    TemplateElement: TSTemplateLiteralType | TemplateLiteral$1;
    TemplateLiteral: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSLiteralType$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    ThisExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    ThisTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    ThrowStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    TopicReference: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    TryStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    TupleExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    TupleTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    TypeAlias: BlockStatement$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    TypeAnnotation: ArrayPattern$1 | ArrowFunctionExpression$1 | AssignmentPattern$1 | ClassAccessorProperty$1 | ClassMethod$1 | ClassPrivateMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | DeclareExportDeclaration$1 | DeclareModuleExports$1 | DeclaredPredicate$1 | FunctionDeclaration$1 | FunctionExpression$1 | Identifier$1 | ObjectMethod$1 | ObjectPattern$1 | Placeholder$1 | RestElement$1 | TypeCastExpression$1 | TypeParameter$1;
    TypeCastExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    TypeParameter: DeclareExportDeclaration$1 | DeclaredPredicate$1 | TypeParameterDeclaration$1;
    TypeParameterDeclaration: ArrowFunctionExpression$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateMethod$1 | DeclareClass$1 | DeclareExportDeclaration$1 | DeclareInterface$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionDeclaration$1 | FunctionExpression$1 | FunctionTypeAnnotation$1 | InterfaceDeclaration$1 | ObjectMethod$1 | OpaqueType$1 | TypeAlias$1;
    TypeParameterInstantiation: CallExpression$1 | ClassDeclaration$1 | ClassExpression$1 | ClassImplements$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | GenericTypeAnnotation$1 | InterfaceExtends$1 | JSXOpeningElement$1 | NewExpression$1 | OptionalCallExpression$1 | TaggedTemplateExpression$1;
    TypeofTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    UnaryExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSLiteralType$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    UnionTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    UpdateExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
    V8IntrinsicIdentifier: CallExpression$1 | NewExpression$1;
    VariableDeclaration: BlockStatement$1 | DoWhileStatement$1 | ExportNamedDeclaration$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    VariableDeclarator: VariableDeclaration$1;
    Variance: ClassAccessorProperty$1 | ClassPrivateProperty$1 | ClassProperty$1 | DeclareExportDeclaration$1 | DeclaredPredicate$1 | ObjectTypeIndexer$1 | ObjectTypeProperty$1 | TypeParameter$1;
    VoidTypeAnnotation: ArrayTypeAnnotation$1 | DeclareExportDeclaration$1 | DeclareOpaqueType$1 | DeclareTypeAlias$1 | DeclaredPredicate$1 | FunctionTypeAnnotation$1 | FunctionTypeParam$1 | IndexedAccessType$1 | IntersectionTypeAnnotation$1 | NullableTypeAnnotation$1 | ObjectTypeCallProperty$1 | ObjectTypeIndexer$1 | ObjectTypeInternalSlot$1 | ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1 | OpaqueType$1 | OptionalIndexedAccessType$1 | TupleTypeAnnotation$1 | TypeAlias$1 | TypeAnnotation$1 | TypeParameter$1 | TypeParameterInstantiation$1 | TypeofTypeAnnotation$1 | UnionTypeAnnotation$1;
    WhileStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    WithStatement: BlockStatement$1 | DoWhileStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | LabeledStatement$1 | Program$1 | StaticBlock$1 | SwitchCase$1 | TSModuleBlock$1 | WhileStatement$1 | WithStatement$1;
    YieldExpression: ArrayExpression$1 | ArrowFunctionExpression$1 | AssignmentExpression$1 | AssignmentPattern$1 | AwaitExpression$1 | BinaryExpression$1 | BindExpression$1 | CallExpression$1 | ClassAccessorProperty$1 | ClassDeclaration$1 | ClassExpression$1 | ClassMethod$1 | ClassPrivateProperty$1 | ClassProperty$1 | ConditionalExpression$1 | Decorator$1 | DoWhileStatement$1 | ExportDefaultDeclaration$1 | ExpressionStatement$1 | ForInStatement$1 | ForOfStatement$1 | ForStatement$1 | IfStatement$1 | ImportExpression$1 | JSXExpressionContainer$1 | JSXSpreadAttribute$1 | JSXSpreadChild$1 | LogicalExpression$1 | MemberExpression$1 | NewExpression$1 | ObjectMethod$1 | ObjectProperty$1 | OptionalCallExpression$1 | OptionalMemberExpression$1 | ParenthesizedExpression$1 | PipelineBareFunction$1 | PipelineTopicExpression$1 | ReturnStatement$1 | SequenceExpression$1 | SpreadElement$1 | SwitchCase$1 | SwitchStatement$1 | TSAsExpression$1 | TSDeclareMethod$1 | TSEnumDeclaration$1 | TSEnumMember$1 | TSExportAssignment$1 | TSImportType$1 | TSInstantiationExpression$1 | TSMethodSignature$1 | TSNonNullExpression$1 | TSPropertySignature$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TaggedTemplateExpression$1 | TemplateLiteral$1 | ThrowStatement$1 | TupleExpression$1 | TypeCastExpression$1 | UnaryExpression$1 | UpdateExpression$1 | VariableDeclarator$1 | WhileStatement$1 | WithStatement$1 | YieldExpression$1;
}

declare function arrayExpression(elements?: Array<null | Expression$1 | SpreadElement$1>): ArrayExpression$1;
declare function assignmentExpression(operator: string, left: LVal$1 | OptionalMemberExpression$1, right: Expression$1): AssignmentExpression$1;
declare function binaryExpression(operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>", left: Expression$1 | PrivateName$1, right: Expression$1): BinaryExpression$1;
declare function interpreterDirective(value: string): InterpreterDirective$1;
declare function directive(value: DirectiveLiteral$1): Directive$1;
declare function directiveLiteral(value: string): DirectiveLiteral$1;
declare function blockStatement(body: Array<Statement$1>, directives?: Array<Directive$1>): BlockStatement$1;
declare function breakStatement(label?: Identifier$1 | null): BreakStatement$1;
declare function callExpression(callee: Expression$1 | Super$1 | V8IntrinsicIdentifier$1, _arguments: Array<Expression$1 | SpreadElement$1 | ArgumentPlaceholder$1>): CallExpression$1;
declare function catchClause(param: Identifier$1 | ArrayPattern$1 | ObjectPattern$1 | null | undefined, body: BlockStatement$1): CatchClause$1;
declare function conditionalExpression(test: Expression$1, consequent: Expression$1, alternate: Expression$1): ConditionalExpression$1;
declare function continueStatement(label?: Identifier$1 | null): ContinueStatement$1;
declare function debuggerStatement(): DebuggerStatement$1;
declare function doWhileStatement(test: Expression$1, body: Statement$1): DoWhileStatement$1;
declare function emptyStatement(): EmptyStatement$1;
declare function expressionStatement(expression: Expression$1): ExpressionStatement$1;
declare function file(program: Program$1, comments?: Array<CommentBlock$1 | CommentLine$1> | null, tokens?: Array<any> | null): File$1;
declare function forInStatement(left: VariableDeclaration$1 | LVal$1, right: Expression$1, body: Statement$1): ForInStatement$1;
declare function forStatement(init: VariableDeclaration$1 | Expression$1 | null | undefined, test: Expression$1 | null | undefined, update: Expression$1 | null | undefined, body: Statement$1): ForStatement$1;
declare function functionDeclaration(id: Identifier$1 | null | undefined, params: Array<Identifier$1 | Pattern$1 | RestElement$1>, body: BlockStatement$1, generator?: boolean, async?: boolean): FunctionDeclaration$1;
declare function functionExpression(id: Identifier$1 | null | undefined, params: Array<Identifier$1 | Pattern$1 | RestElement$1>, body: BlockStatement$1, generator?: boolean, async?: boolean): FunctionExpression$1;
declare function identifier(name: string): Identifier$1;
declare function ifStatement(test: Expression$1, consequent: Statement$1, alternate?: Statement$1 | null): IfStatement$1;
declare function labeledStatement(label: Identifier$1, body: Statement$1): LabeledStatement$1;
declare function stringLiteral(value: string): StringLiteral$1;
declare function numericLiteral(value: number): NumericLiteral$1;
declare function nullLiteral(): NullLiteral$1;
declare function booleanLiteral(value: boolean): BooleanLiteral$1;
declare function regExpLiteral(pattern: string, flags?: string): RegExpLiteral$1;
declare function logicalExpression(operator: "||" | "&&" | "??", left: Expression$1, right: Expression$1): LogicalExpression$1;
declare function memberExpression(object: Expression$1 | Super$1, property: Expression$1 | Identifier$1 | PrivateName$1, computed?: boolean, optional?: boolean | null): MemberExpression$1;
declare function newExpression(callee: Expression$1 | Super$1 | V8IntrinsicIdentifier$1, _arguments: Array<Expression$1 | SpreadElement$1 | ArgumentPlaceholder$1>): NewExpression$1;
declare function program$1(body: Array<Statement$1>, directives?: Array<Directive$1>, sourceType?: "script" | "module", interpreter?: InterpreterDirective$1 | null): Program$1;
declare function objectExpression(properties: Array<ObjectMethod$1 | ObjectProperty$1 | SpreadElement$1>): ObjectExpression$1;
declare function objectMethod(kind: "method" | "get" | "set" | undefined, key: Expression$1 | Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1, params: Array<Identifier$1 | Pattern$1 | RestElement$1>, body: BlockStatement$1, computed?: boolean, generator?: boolean, async?: boolean): ObjectMethod$1;
declare function objectProperty(key: Expression$1 | Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | DecimalLiteral$1 | PrivateName$1, value: Expression$1 | PatternLike$1, computed?: boolean, shorthand?: boolean, decorators?: Array<Decorator$1> | null): ObjectProperty$1;
declare function restElement(argument: LVal$1): RestElement$1;
declare function returnStatement(argument?: Expression$1 | null): ReturnStatement$1;
declare function sequenceExpression(expressions: Array<Expression$1>): SequenceExpression$1;
declare function parenthesizedExpression(expression: Expression$1): ParenthesizedExpression$1;
declare function switchCase(test: Expression$1 | null | undefined, consequent: Array<Statement$1>): SwitchCase$1;
declare function switchStatement(discriminant: Expression$1, cases: Array<SwitchCase$1>): SwitchStatement$1;
declare function thisExpression(): ThisExpression$1;
declare function throwStatement(argument: Expression$1): ThrowStatement$1;
declare function tryStatement(block: BlockStatement$1, handler?: CatchClause$1 | null, finalizer?: BlockStatement$1 | null): TryStatement$1;
declare function unaryExpression(operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof", argument: Expression$1, prefix?: boolean): UnaryExpression$1;
declare function updateExpression(operator: "++" | "--", argument: Expression$1, prefix?: boolean): UpdateExpression$1;
declare function variableDeclaration(kind: "var" | "let" | "const" | "using" | "await using", declarations: Array<VariableDeclarator$1>): VariableDeclaration$1;
declare function variableDeclarator(id: LVal$1, init?: Expression$1 | null): VariableDeclarator$1;
declare function whileStatement(test: Expression$1, body: Statement$1): WhileStatement$1;
declare function withStatement(object: Expression$1, body: Statement$1): WithStatement$1;
declare function assignmentPattern(left: Identifier$1 | ObjectPattern$1 | ArrayPattern$1 | MemberExpression$1 | TSAsExpression$1 | TSSatisfiesExpression$1 | TSTypeAssertion$1 | TSNonNullExpression$1, right: Expression$1): AssignmentPattern$1;
declare function arrayPattern(elements: Array<null | PatternLike$1 | LVal$1>): ArrayPattern$1;
declare function arrowFunctionExpression(params: Array<Identifier$1 | Pattern$1 | RestElement$1>, body: BlockStatement$1 | Expression$1, async?: boolean): ArrowFunctionExpression$1;
declare function classBody(body: Array<ClassMethod$1 | ClassPrivateMethod$1 | ClassProperty$1 | ClassPrivateProperty$1 | ClassAccessorProperty$1 | TSDeclareMethod$1 | TSIndexSignature$1 | StaticBlock$1>): ClassBody$1;
declare function classExpression(id: Identifier$1 | null | undefined, superClass: Expression$1 | null | undefined, body: ClassBody$1, decorators?: Array<Decorator$1> | null): ClassExpression$1;
declare function classDeclaration(id: Identifier$1 | null | undefined, superClass: Expression$1 | null | undefined, body: ClassBody$1, decorators?: Array<Decorator$1> | null): ClassDeclaration$1;
declare function exportAllDeclaration(source: StringLiteral$1): ExportAllDeclaration$1;
declare function exportDefaultDeclaration(declaration: TSDeclareFunction$1 | FunctionDeclaration$1 | ClassDeclaration$1 | Expression$1): ExportDefaultDeclaration$1;
declare function exportNamedDeclaration(declaration?: Declaration$1 | null, specifiers?: Array<ExportSpecifier$1 | ExportDefaultSpecifier$1 | ExportNamespaceSpecifier$1>, source?: StringLiteral$1 | null): ExportNamedDeclaration$1;
declare function exportSpecifier(local: Identifier$1, exported: Identifier$1 | StringLiteral$1): ExportSpecifier$1;
declare function forOfStatement(left: VariableDeclaration$1 | LVal$1, right: Expression$1, body: Statement$1, _await?: boolean): ForOfStatement$1;
declare function importDeclaration(specifiers: Array<ImportSpecifier$1 | ImportDefaultSpecifier$1 | ImportNamespaceSpecifier$1>, source: StringLiteral$1): ImportDeclaration$1;
declare function importDefaultSpecifier(local: Identifier$1): ImportDefaultSpecifier$1;
declare function importNamespaceSpecifier(local: Identifier$1): ImportNamespaceSpecifier$1;
declare function importSpecifier(local: Identifier$1, imported: Identifier$1 | StringLiteral$1): ImportSpecifier$1;
declare function importExpression(source: Expression$1, options?: Expression$1 | null): ImportExpression$1;
declare function metaProperty(meta: Identifier$1, property: Identifier$1): MetaProperty$1;
declare function classMethod(kind: "get" | "set" | "method" | "constructor" | undefined, key: Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | Expression$1, params: Array<Identifier$1 | Pattern$1 | RestElement$1 | TSParameterProperty$1>, body: BlockStatement$1, computed?: boolean, _static?: boolean, generator?: boolean, async?: boolean): ClassMethod$1;
declare function objectPattern(properties: Array<RestElement$1 | ObjectProperty$1>): ObjectPattern$1;
declare function spreadElement(argument: Expression$1): SpreadElement$1;
declare function _super(): Super$1;

declare function taggedTemplateExpression(tag: Expression$1, quasi: TemplateLiteral$1): TaggedTemplateExpression$1;
declare function templateElement(value: {
    raw: string;
    cooked?: string;
}, tail?: boolean): TemplateElement$1;
declare function templateLiteral(quasis: Array<TemplateElement$1>, expressions: Array<Expression$1 | TSType$1>): TemplateLiteral$1;
declare function yieldExpression(argument?: Expression$1 | null, delegate?: boolean): YieldExpression$1;
declare function awaitExpression(argument: Expression$1): AwaitExpression$1;
declare function _import(): Import$1;

declare function bigIntLiteral(value: string): BigIntLiteral$1;
declare function exportNamespaceSpecifier(exported: Identifier$1): ExportNamespaceSpecifier$1;
declare function optionalMemberExpression(object: Expression$1, property: Expression$1 | Identifier$1, computed: boolean | undefined, optional: boolean): OptionalMemberExpression$1;
declare function optionalCallExpression(callee: Expression$1, _arguments: Array<Expression$1 | SpreadElement$1 | ArgumentPlaceholder$1>, optional: boolean): OptionalCallExpression$1;
declare function classProperty(key: Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | Expression$1, value?: Expression$1 | null, typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null, decorators?: Array<Decorator$1> | null, computed?: boolean, _static?: boolean): ClassProperty$1;
declare function classAccessorProperty(key: Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | Expression$1 | PrivateName$1, value?: Expression$1 | null, typeAnnotation?: TypeAnnotation$1 | TSTypeAnnotation$1 | Noop$1 | null, decorators?: Array<Decorator$1> | null, computed?: boolean, _static?: boolean): ClassAccessorProperty$1;
declare function classPrivateProperty(key: PrivateName$1, value?: Expression$1 | null, decorators?: Array<Decorator$1> | null, _static?: boolean): ClassPrivateProperty$1;
declare function classPrivateMethod(kind: "get" | "set" | "method" | undefined, key: PrivateName$1, params: Array<Identifier$1 | Pattern$1 | RestElement$1 | TSParameterProperty$1>, body: BlockStatement$1, _static?: boolean): ClassPrivateMethod$1;
declare function privateName(id: Identifier$1): PrivateName$1;
declare function staticBlock(body: Array<Statement$1>): StaticBlock$1;
declare function anyTypeAnnotation(): AnyTypeAnnotation$1;
declare function arrayTypeAnnotation(elementType: FlowType$1): ArrayTypeAnnotation$1;
declare function booleanTypeAnnotation(): BooleanTypeAnnotation$1;
declare function booleanLiteralTypeAnnotation(value: boolean): BooleanLiteralTypeAnnotation$1;
declare function nullLiteralTypeAnnotation(): NullLiteralTypeAnnotation$1;
declare function classImplements(id: Identifier$1, typeParameters?: TypeParameterInstantiation$1 | null): ClassImplements$1;
declare function declareClass(id: Identifier$1, typeParameters: TypeParameterDeclaration$1 | null | undefined, _extends: Array<InterfaceExtends$1> | null | undefined, body: ObjectTypeAnnotation$1): DeclareClass$1;
declare function declareFunction(id: Identifier$1): DeclareFunction$1;
declare function declareInterface(id: Identifier$1, typeParameters: TypeParameterDeclaration$1 | null | undefined, _extends: Array<InterfaceExtends$1> | null | undefined, body: ObjectTypeAnnotation$1): DeclareInterface$1;
declare function declareModule(id: Identifier$1 | StringLiteral$1, body: BlockStatement$1, kind?: "CommonJS" | "ES" | null): DeclareModule$1;
declare function declareModuleExports(typeAnnotation: TypeAnnotation$1): DeclareModuleExports$1;
declare function declareTypeAlias(id: Identifier$1, typeParameters: TypeParameterDeclaration$1 | null | undefined, right: FlowType$1): DeclareTypeAlias$1;
declare function declareOpaqueType(id: Identifier$1, typeParameters?: TypeParameterDeclaration$1 | null, supertype?: FlowType$1 | null): DeclareOpaqueType$1;
declare function declareVariable(id: Identifier$1): DeclareVariable$1;
declare function declareExportDeclaration(declaration?: Flow$1 | null, specifiers?: Array<ExportSpecifier$1 | ExportNamespaceSpecifier$1> | null, source?: StringLiteral$1 | null, attributes?: Array<ImportAttribute$1> | null): DeclareExportDeclaration$1;
declare function declareExportAllDeclaration(source: StringLiteral$1, attributes?: Array<ImportAttribute$1> | null): DeclareExportAllDeclaration$1;
declare function declaredPredicate(value: Flow$1): DeclaredPredicate$1;
declare function existsTypeAnnotation(): ExistsTypeAnnotation$1;
declare function functionTypeAnnotation(typeParameters: TypeParameterDeclaration$1 | null | undefined, params: Array<FunctionTypeParam$1>, rest: FunctionTypeParam$1 | null | undefined, returnType: FlowType$1): FunctionTypeAnnotation$1;
declare function functionTypeParam(name: Identifier$1 | null | undefined, typeAnnotation: FlowType$1): FunctionTypeParam$1;
declare function genericTypeAnnotation(id: Identifier$1 | QualifiedTypeIdentifier$1, typeParameters?: TypeParameterInstantiation$1 | null): GenericTypeAnnotation$1;
declare function inferredPredicate(): InferredPredicate$1;
declare function interfaceExtends(id: Identifier$1 | QualifiedTypeIdentifier$1, typeParameters?: TypeParameterInstantiation$1 | null): InterfaceExtends$1;
declare function interfaceDeclaration(id: Identifier$1, typeParameters: TypeParameterDeclaration$1 | null | undefined, _extends: Array<InterfaceExtends$1> | null | undefined, body: ObjectTypeAnnotation$1): InterfaceDeclaration$1;
declare function interfaceTypeAnnotation(_extends: Array<InterfaceExtends$1> | null | undefined, body: ObjectTypeAnnotation$1): InterfaceTypeAnnotation$1;
declare function intersectionTypeAnnotation(types: Array<FlowType$1>): IntersectionTypeAnnotation$1;
declare function mixedTypeAnnotation(): MixedTypeAnnotation$1;
declare function emptyTypeAnnotation(): EmptyTypeAnnotation$1;
declare function nullableTypeAnnotation(typeAnnotation: FlowType$1): NullableTypeAnnotation$1;
declare function numberLiteralTypeAnnotation(value: number): NumberLiteralTypeAnnotation$1;
declare function numberTypeAnnotation(): NumberTypeAnnotation$1;
declare function objectTypeAnnotation(properties: Array<ObjectTypeProperty$1 | ObjectTypeSpreadProperty$1>, indexers?: Array<ObjectTypeIndexer$1>, callProperties?: Array<ObjectTypeCallProperty$1>, internalSlots?: Array<ObjectTypeInternalSlot$1>, exact?: boolean): ObjectTypeAnnotation$1;
declare function objectTypeInternalSlot(id: Identifier$1, value: FlowType$1, optional: boolean, _static: boolean, method: boolean): ObjectTypeInternalSlot$1;
declare function objectTypeCallProperty(value: FlowType$1): ObjectTypeCallProperty$1;
declare function objectTypeIndexer(id: Identifier$1 | null | undefined, key: FlowType$1, value: FlowType$1, variance?: Variance$1 | null): ObjectTypeIndexer$1;
declare function objectTypeProperty(key: Identifier$1 | StringLiteral$1, value: FlowType$1, variance?: Variance$1 | null): ObjectTypeProperty$1;
declare function objectTypeSpreadProperty(argument: FlowType$1): ObjectTypeSpreadProperty$1;
declare function opaqueType(id: Identifier$1, typeParameters: TypeParameterDeclaration$1 | null | undefined, supertype: FlowType$1 | null | undefined, impltype: FlowType$1): OpaqueType$1;
declare function qualifiedTypeIdentifier(id: Identifier$1, qualification: Identifier$1 | QualifiedTypeIdentifier$1): QualifiedTypeIdentifier$1;
declare function stringLiteralTypeAnnotation(value: string): StringLiteralTypeAnnotation$1;
declare function stringTypeAnnotation(): StringTypeAnnotation$1;
declare function symbolTypeAnnotation(): SymbolTypeAnnotation$1;
declare function thisTypeAnnotation(): ThisTypeAnnotation$1;
declare function tupleTypeAnnotation(types: Array<FlowType$1>): TupleTypeAnnotation$1;
declare function typeofTypeAnnotation(argument: FlowType$1): TypeofTypeAnnotation$1;
declare function typeAlias(id: Identifier$1, typeParameters: TypeParameterDeclaration$1 | null | undefined, right: FlowType$1): TypeAlias$1;
declare function typeAnnotation(typeAnnotation: FlowType$1): TypeAnnotation$1;
declare function typeCastExpression(expression: Expression$1, typeAnnotation: TypeAnnotation$1): TypeCastExpression$1;
declare function typeParameter(bound?: TypeAnnotation$1 | null, _default?: FlowType$1 | null, variance?: Variance$1 | null): TypeParameter$1;
declare function typeParameterDeclaration(params: Array<TypeParameter$1>): TypeParameterDeclaration$1;
declare function typeParameterInstantiation(params: Array<FlowType$1>): TypeParameterInstantiation$1;
declare function unionTypeAnnotation(types: Array<FlowType$1>): UnionTypeAnnotation$1;
declare function variance(kind: "minus" | "plus"): Variance$1;
declare function voidTypeAnnotation(): VoidTypeAnnotation$1;
declare function enumDeclaration(id: Identifier$1, body: EnumBooleanBody$1 | EnumNumberBody$1 | EnumStringBody$1 | EnumSymbolBody$1): EnumDeclaration$1;
declare function enumBooleanBody(members: Array<EnumBooleanMember$1>): EnumBooleanBody$1;
declare function enumNumberBody(members: Array<EnumNumberMember$1>): EnumNumberBody$1;
declare function enumStringBody(members: Array<EnumStringMember$1 | EnumDefaultedMember$1>): EnumStringBody$1;
declare function enumSymbolBody(members: Array<EnumDefaultedMember$1>): EnumSymbolBody$1;
declare function enumBooleanMember(id: Identifier$1): EnumBooleanMember$1;
declare function enumNumberMember(id: Identifier$1, init: NumericLiteral$1): EnumNumberMember$1;
declare function enumStringMember(id: Identifier$1, init: StringLiteral$1): EnumStringMember$1;
declare function enumDefaultedMember(id: Identifier$1): EnumDefaultedMember$1;
declare function indexedAccessType(objectType: FlowType$1, indexType: FlowType$1): IndexedAccessType$1;
declare function optionalIndexedAccessType(objectType: FlowType$1, indexType: FlowType$1): OptionalIndexedAccessType$1;
declare function jsxAttribute(name: JSXIdentifier$1 | JSXNamespacedName$1, value?: JSXElement$1 | JSXFragment$1 | StringLiteral$1 | JSXExpressionContainer$1 | null): JSXAttribute$1;

declare function jsxClosingElement(name: JSXIdentifier$1 | JSXMemberExpression$1 | JSXNamespacedName$1): JSXClosingElement$1;

declare function jsxElement(openingElement: JSXOpeningElement$1, closingElement: JSXClosingElement$1 | null | undefined, children: Array<JSXText$1 | JSXExpressionContainer$1 | JSXSpreadChild$1 | JSXElement$1 | JSXFragment$1>, selfClosing?: boolean | null): JSXElement$1;

declare function jsxEmptyExpression(): JSXEmptyExpression$1;

declare function jsxExpressionContainer(expression: Expression$1 | JSXEmptyExpression$1): JSXExpressionContainer$1;

declare function jsxSpreadChild(expression: Expression$1): JSXSpreadChild$1;

declare function jsxIdentifier(name: string): JSXIdentifier$1;

declare function jsxMemberExpression(object: JSXMemberExpression$1 | JSXIdentifier$1, property: JSXIdentifier$1): JSXMemberExpression$1;

declare function jsxNamespacedName(namespace: JSXIdentifier$1, name: JSXIdentifier$1): JSXNamespacedName$1;

declare function jsxOpeningElement(name: JSXIdentifier$1 | JSXMemberExpression$1 | JSXNamespacedName$1, attributes: Array<JSXAttribute$1 | JSXSpreadAttribute$1>, selfClosing?: boolean): JSXOpeningElement$1;

declare function jsxSpreadAttribute(argument: Expression$1): JSXSpreadAttribute$1;

declare function jsxText(value: string): JSXText$1;

declare function jsxFragment(openingFragment: JSXOpeningFragment$1, closingFragment: JSXClosingFragment$1, children: Array<JSXText$1 | JSXExpressionContainer$1 | JSXSpreadChild$1 | JSXElement$1 | JSXFragment$1>): JSXFragment$1;

declare function jsxOpeningFragment(): JSXOpeningFragment$1;

declare function jsxClosingFragment(): JSXClosingFragment$1;

declare function noop(): Noop$1;
declare function placeholder(expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern", name: Identifier$1): Placeholder$1;
declare function v8IntrinsicIdentifier(name: string): V8IntrinsicIdentifier$1;
declare function argumentPlaceholder(): ArgumentPlaceholder$1;
declare function bindExpression(object: Expression$1, callee: Expression$1): BindExpression$1;
declare function importAttribute(key: Identifier$1 | StringLiteral$1, value: StringLiteral$1): ImportAttribute$1;
declare function decorator(expression: Expression$1): Decorator$1;
declare function doExpression(body: BlockStatement$1, async?: boolean): DoExpression$1;
declare function exportDefaultSpecifier(exported: Identifier$1): ExportDefaultSpecifier$1;
declare function recordExpression(properties: Array<ObjectProperty$1 | SpreadElement$1>): RecordExpression$1;
declare function tupleExpression(elements?: Array<Expression$1 | SpreadElement$1>): TupleExpression$1;
declare function decimalLiteral(value: string): DecimalLiteral$1;
declare function moduleExpression(body: Program$1): ModuleExpression$1;
declare function topicReference(): TopicReference$1;
declare function pipelineTopicExpression(expression: Expression$1): PipelineTopicExpression$1;
declare function pipelineBareFunction(callee: Expression$1): PipelineBareFunction$1;
declare function pipelinePrimaryTopicReference(): PipelinePrimaryTopicReference$1;
declare function tsParameterProperty(parameter: Identifier$1 | AssignmentPattern$1): TSParameterProperty$1;

declare function tsDeclareFunction(id: Identifier$1 | null | undefined, typeParameters: TSTypeParameterDeclaration$1 | Noop$1 | null | undefined, params: Array<Identifier$1 | Pattern$1 | RestElement$1>, returnType?: TSTypeAnnotation$1 | Noop$1 | null): TSDeclareFunction$1;

declare function tsDeclareMethod(decorators: Array<Decorator$1> | null | undefined, key: Identifier$1 | StringLiteral$1 | NumericLiteral$1 | BigIntLiteral$1 | Expression$1, typeParameters: TSTypeParameterDeclaration$1 | Noop$1 | null | undefined, params: Array<Identifier$1 | Pattern$1 | RestElement$1 | TSParameterProperty$1>, returnType?: TSTypeAnnotation$1 | Noop$1 | null): TSDeclareMethod$1;

declare function tsQualifiedName(left: TSEntityName$1, right: Identifier$1): TSQualifiedName$1;

declare function tsCallSignatureDeclaration(typeParameters: TSTypeParameterDeclaration$1 | null | undefined, parameters: Array<ArrayPattern$1 | Identifier$1 | ObjectPattern$1 | RestElement$1>, typeAnnotation?: TSTypeAnnotation$1 | null): TSCallSignatureDeclaration$1;

declare function tsConstructSignatureDeclaration(typeParameters: TSTypeParameterDeclaration$1 | null | undefined, parameters: Array<ArrayPattern$1 | Identifier$1 | ObjectPattern$1 | RestElement$1>, typeAnnotation?: TSTypeAnnotation$1 | null): TSConstructSignatureDeclaration$1;

declare function tsPropertySignature(key: Expression$1, typeAnnotation?: TSTypeAnnotation$1 | null): TSPropertySignature$1;

declare function tsMethodSignature(key: Expression$1, typeParameters: TSTypeParameterDeclaration$1 | null | undefined, parameters: Array<ArrayPattern$1 | Identifier$1 | ObjectPattern$1 | RestElement$1>, typeAnnotation?: TSTypeAnnotation$1 | null): TSMethodSignature$1;

declare function tsIndexSignature(parameters: Array<Identifier$1>, typeAnnotation?: TSTypeAnnotation$1 | null): TSIndexSignature$1;

declare function tsAnyKeyword(): TSAnyKeyword$1;

declare function tsBooleanKeyword(): TSBooleanKeyword$1;

declare function tsBigIntKeyword(): TSBigIntKeyword$1;

declare function tsIntrinsicKeyword(): TSIntrinsicKeyword$1;

declare function tsNeverKeyword(): TSNeverKeyword$1;

declare function tsNullKeyword(): TSNullKeyword$1;

declare function tsNumberKeyword(): TSNumberKeyword$1;

declare function tsObjectKeyword(): TSObjectKeyword$1;

declare function tsStringKeyword(): TSStringKeyword$1;

declare function tsSymbolKeyword(): TSSymbolKeyword$1;

declare function tsUndefinedKeyword(): TSUndefinedKeyword$1;

declare function tsUnknownKeyword(): TSUnknownKeyword$1;

declare function tsVoidKeyword(): TSVoidKeyword$1;

declare function tsThisType(): TSThisType$1;

declare function tsFunctionType(typeParameters: TSTypeParameterDeclaration$1 | null | undefined, parameters: Array<ArrayPattern$1 | Identifier$1 | ObjectPattern$1 | RestElement$1>, typeAnnotation?: TSTypeAnnotation$1 | null): TSFunctionType$1;

declare function tsConstructorType(typeParameters: TSTypeParameterDeclaration$1 | null | undefined, parameters: Array<ArrayPattern$1 | Identifier$1 | ObjectPattern$1 | RestElement$1>, typeAnnotation?: TSTypeAnnotation$1 | null): TSConstructorType$1;

declare function tsTypeReference(typeName: TSEntityName$1, typeParameters?: TSTypeParameterInstantiation$1 | null): TSTypeReference$1;

declare function tsTypePredicate(parameterName: Identifier$1 | TSThisType$1, typeAnnotation?: TSTypeAnnotation$1 | null, asserts?: boolean | null): TSTypePredicate$1;

declare function tsTypeQuery(exprName: TSEntityName$1 | TSImportType$1, typeParameters?: TSTypeParameterInstantiation$1 | null): TSTypeQuery$1;

declare function tsTypeLiteral(members: Array<TSTypeElement$1>): TSTypeLiteral$1;

declare function tsArrayType(elementType: TSType$1): TSArrayType$1;

declare function tsTupleType(elementTypes: Array<TSType$1 | TSNamedTupleMember$1>): TSTupleType$1;

declare function tsOptionalType(typeAnnotation: TSType$1): TSOptionalType$1;

declare function tsRestType(typeAnnotation: TSType$1): TSRestType$1;

declare function tsNamedTupleMember(label: Identifier$1, elementType: TSType$1, optional?: boolean): TSNamedTupleMember$1;

declare function tsUnionType(types: Array<TSType$1>): TSUnionType$1;

declare function tsIntersectionType(types: Array<TSType$1>): TSIntersectionType$1;

declare function tsConditionalType(checkType: TSType$1, extendsType: TSType$1, trueType: TSType$1, falseType: TSType$1): TSConditionalType$1;

declare function tsInferType(typeParameter: TSTypeParameter$1): TSInferType$1;

declare function tsParenthesizedType(typeAnnotation: TSType$1): TSParenthesizedType$1;

declare function tsTypeOperator(typeAnnotation: TSType$1): TSTypeOperator$1;

declare function tsIndexedAccessType(objectType: TSType$1, indexType: TSType$1): TSIndexedAccessType$1;

declare function tsMappedType(typeParameter: TSTypeParameter$1, typeAnnotation?: TSType$1 | null, nameType?: TSType$1 | null): TSMappedType$1;

declare function tsTemplateLiteralType(quasis: Array<TemplateElement$1>, types: Array<TSType$1>): TSTemplateLiteralType;

declare function tsLiteralType(literal: NumericLiteral$1 | StringLiteral$1 | BooleanLiteral$1 | BigIntLiteral$1 | TemplateLiteral$1 | UnaryExpression$1): TSLiteralType$1;

declare function tsExpressionWithTypeArguments(expression: TSEntityName$1, typeParameters?: TSTypeParameterInstantiation$1 | null): TSExpressionWithTypeArguments$1;

declare function tsInterfaceDeclaration(id: Identifier$1, typeParameters: TSTypeParameterDeclaration$1 | null | undefined, _extends: Array<TSExpressionWithTypeArguments$1> | null | undefined, body: TSInterfaceBody$1): TSInterfaceDeclaration$1;

declare function tsInterfaceBody(body: Array<TSTypeElement$1>): TSInterfaceBody$1;

declare function tsTypeAliasDeclaration(id: Identifier$1, typeParameters: TSTypeParameterDeclaration$1 | null | undefined, typeAnnotation: TSType$1): TSTypeAliasDeclaration$1;

declare function tsInstantiationExpression(expression: Expression$1, typeParameters?: TSTypeParameterInstantiation$1 | null): TSInstantiationExpression$1;

declare function tsAsExpression(expression: Expression$1, typeAnnotation: TSType$1): TSAsExpression$1;

declare function tsSatisfiesExpression(expression: Expression$1, typeAnnotation: TSType$1): TSSatisfiesExpression$1;

declare function tsTypeAssertion(typeAnnotation: TSType$1, expression: Expression$1): TSTypeAssertion$1;

declare function tsEnumBody(members: Array<TSEnumMember$1>): TSEnumBody$1;

declare function tsEnumDeclaration(id: Identifier$1, members: Array<TSEnumMember$1>): TSEnumDeclaration$1;

declare function tsEnumMember(id: Identifier$1 | StringLiteral$1, initializer?: Expression$1 | null): TSEnumMember$1;

declare function tsModuleDeclaration(id: Identifier$1 | StringLiteral$1, body: TSModuleBlock$1 | TSModuleDeclaration$1): TSModuleDeclaration$1;

declare function tsModuleBlock(body: Array<Statement$1>): TSModuleBlock$1;

declare function tsImportType(argument: StringLiteral$1, qualifier?: TSEntityName$1 | null, typeParameters?: TSTypeParameterInstantiation$1 | null): TSImportType$1;

declare function tsImportEqualsDeclaration(id: Identifier$1, moduleReference: TSEntityName$1 | TSExternalModuleReference$1): TSImportEqualsDeclaration$1;

declare function tsExternalModuleReference(expression: StringLiteral$1): TSExternalModuleReference$1;

declare function tsNonNullExpression(expression: Expression$1): TSNonNullExpression$1;

declare function tsExportAssignment(expression: Expression$1): TSExportAssignment$1;

declare function tsNamespaceExportDeclaration(id: Identifier$1): TSNamespaceExportDeclaration$1;

declare function tsTypeAnnotation(typeAnnotation: TSType$1): TSTypeAnnotation$1;

declare function tsTypeParameterInstantiation(params: Array<TSType$1>): TSTypeParameterInstantiation$1;

declare function tsTypeParameterDeclaration(params: Array<TSTypeParameter$1>): TSTypeParameterDeclaration$1;

declare function tsTypeParameter(constraint: TSType$1 | null | undefined, _default: TSType$1 | null | undefined, name: string): TSTypeParameter$1;

/** @deprecated */
declare function NumberLiteral$2(value: number): NumericLiteral$1;

/** @deprecated */
declare function RegexLiteral$2(pattern: string, flags?: string): RegExpLiteral$1;

/** @deprecated */
declare function RestProperty$2(argument: LVal$1): RestElement$1;

/** @deprecated */
declare function SpreadProperty$2(argument: Expression$1): SpreadElement$1;

declare function buildUndefinedNode(): UnaryExpression$1;

/**
 * Create a clone of a `node` including only properties belonging to the node.
 * If the second parameter is `false`, cloneNode performs a shallow clone.
 * If the third parameter is true, the cloned nodes exclude location properties.
 */
declare function cloneNode<T extends Node$2>(node: T, deep?: boolean, withoutLoc?: boolean): T;

/**
 * Create a shallow clone of a `node`, including only
 * properties belonging to the node.
 * @deprecated Use t.cloneNode instead.
 */
declare function clone<T extends Node$2>(node: T): T;

/**
 * Create a deep clone of a `node` and all of it's child nodes
 * including only properties belonging to the node.
 * @deprecated Use t.cloneNode instead.
 */
declare function cloneDeep<T extends Node$2>(node: T): T;

/**
 * Create a deep clone of a `node` and all of it's child nodes
 * including only properties belonging to the node.
 * excluding `_private` and location properties.
 */
declare function cloneDeepWithoutLoc<T extends Node$2>(node: T): T;

/**
 * Create a shallow clone of a `node` excluding `_private` and location properties.
 */
declare function cloneWithoutLoc<T extends Node$2>(node: T): T;

/**
 * Add comment of certain type to a node.
 */
declare function addComment<T extends Node$2>(node: T, type: CommentTypeShorthand, content: string, line?: boolean): T;

/**
 * Add comments of certain type to a node.
 */
declare function addComments<T extends Node$2>(node: T, type: CommentTypeShorthand, comments: Array<Comment$1>): T;

declare function inheritInnerComments(child: Node$2, parent: Node$2): void;

declare function inheritLeadingComments(child: Node$2, parent: Node$2): void;

/**
 * Inherit all unique comments from `parent` node to `child` node.
 */
declare function inheritsComments<T extends Node$2>(child: T, parent: Node$2): T;

declare function inheritTrailingComments(child: Node$2, parent: Node$2): void;

/**
 * Remove comment properties from a node.
 */
declare function removeComments<T extends Node$2>(node: T): T;

declare const STANDARDIZED_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const EXPRESSION_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const BINARY_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const SCOPABLE_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const BLOCKPARENT_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const BLOCK_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const STATEMENT_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const TERMINATORLESS_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const COMPLETIONSTATEMENT_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const CONDITIONAL_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const LOOP_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const WHILE_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const EXPRESSIONWRAPPER_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const FOR_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const FORXSTATEMENT_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const FUNCTION_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const FUNCTIONPARENT_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const PUREISH_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const DECLARATION_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const PATTERNLIKE_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const LVAL_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const TSENTITYNAME_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const LITERAL_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const IMMUTABLE_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const USERWHITESPACABLE_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const METHOD_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const OBJECTMEMBER_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const PROPERTY_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const UNARYLIKE_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const PATTERN_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const CLASS_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const IMPORTOREXPORTDECLARATION_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const EXPORTDECLARATION_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const MODULESPECIFIER_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const ACCESSOR_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const PRIVATE_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const FLOW_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const FLOWTYPE_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const FLOWBASEANNOTATION_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const FLOWDECLARATION_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const FLOWPREDICATE_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const ENUMBODY_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const ENUMMEMBER_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const JSX_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const MISCELLANEOUS_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const TYPESCRIPT_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const TSTYPEELEMENT_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const TSTYPE_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
declare const TSBASETYPE_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
/**
 * @deprecated migrate to IMPORTOREXPORTDECLARATION_TYPES.
 */
declare const MODULEDECLARATION_TYPES: ("AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayExpression" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportExpression" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumBody" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSSatisfiesExpression" | "TSStringKeyword" | "TSSymbolKeyword" | "TSTemplateLiteralType" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];

declare const STATEMENT_OR_BLOCK_KEYS: string[];
declare const FLATTENABLE_KEYS: string[];
declare const FOR_INIT_KEYS: string[];
declare const COMMENT_KEYS: readonly ["leadingComments", "trailingComments", "innerComments"];
declare const LOGICAL_OPERATORS: string[];
declare const UPDATE_OPERATORS: string[];
declare const BOOLEAN_NUMBER_BINARY_OPERATORS: string[];
declare const EQUALITY_BINARY_OPERATORS: string[];
declare const COMPARISON_BINARY_OPERATORS: string[];
declare const BOOLEAN_BINARY_OPERATORS: string[];
declare const NUMBER_BINARY_OPERATORS: string[];
declare const BINARY_OPERATORS: string[];
declare const ASSIGNMENT_OPERATORS: string[];
declare const BOOLEAN_UNARY_OPERATORS: string[];
declare const NUMBER_UNARY_OPERATORS: string[];
declare const STRING_UNARY_OPERATORS: string[];
declare const UNARY_OPERATORS: string[];
declare const INHERIT_KEYS: {
    readonly optional: readonly ["typeAnnotation", "typeParameters", "returnType"];
    readonly force: readonly ["start", "loc", "end"];
};
declare const BLOCK_SCOPED_SYMBOL: unique symbol;
declare const NOT_LOCAL_BINDING: unique symbol;

/**
 * Ensure the `key` (defaults to "body") of a `node` is a block.
 * Casting it to a block if it is not.
 *
 * Returns the BlockStatement
 */
declare function ensureBlock(node: Node$2, key?: string): BlockStatement$1;

declare function toBindingIdentifierName(name: string): string;

declare function toBlock(node: Statement$1 | Expression$1, parent?: Node$2): BlockStatement$1;

declare function toComputedKey(node: ObjectMember | ObjectProperty$1 | ClassMethod$1 | ClassProperty$1 | ClassAccessorProperty$1 | MemberExpression$1 | OptionalMemberExpression$1, key?: Expression$1 | PrivateName$1): PrivateName$1 | Expression$1;

declare const _default$3: {
    (node: Function): FunctionExpression$1;
    (node: Class): ClassExpression$1;
    (node: ExpressionStatement$1 | Expression$1 | Class | Function): Expression$1;
};
//# sourceMappingURL=toExpression.d.ts.map

declare function toIdentifier(input: string): string;

declare function toKeyAlias(node: Method | Property, key?: Node$2): string;
declare namespace toKeyAlias {
    var uid: number;
    var increment: () => number;
}
//# sourceMappingURL=toKeyAlias.d.ts.map

declare const _default$2: {
    (node: AssignmentExpression$1, ignore?: boolean): ExpressionStatement$1;
    <T extends Statement$1>(node: T, ignore: false): T;
    <T extends Statement$1>(node: T, ignore?: boolean): T | false;
    (node: Class, ignore: false): ClassDeclaration$1;
    (node: Class, ignore?: boolean): ClassDeclaration$1 | false;
    (node: Function, ignore: false): FunctionDeclaration$1;
    (node: Function, ignore?: boolean): FunctionDeclaration$1 | false;
    (node: Node$2, ignore: false): Statement$1;
    (node: Node$2, ignore?: boolean): Statement$1 | false;
};
//# sourceMappingURL=toStatement.d.ts.map

declare const _default$1: {
    (value: undefined): Identifier$1;
    (value: boolean): BooleanLiteral$1;
    (value: null): NullLiteral$1;
    (value: string): StringLiteral$1;
    (value: number): NumericLiteral$1 | BinaryExpression$1 | UnaryExpression$1;
    (value: RegExp): RegExpLiteral$1;
    (value: ReadonlyArray<unknown>): ArrayExpression$1;
    (value: object): ObjectExpression$1;
    (value: unknown): Expression$1;
};
//# sourceMappingURL=valueToNode.d.ts.map

declare const VISITOR_KEYS: Record<string, string[]>;
declare const ALIAS_KEYS: Partial<Record<NodeTypesWithoutComment, string[]>>;
declare const FLIPPED_ALIAS_KEYS: Record<string, NodeTypesWithoutComment[]>;
declare const NODE_FIELDS: Record<string, FieldDefinitions>;
declare const BUILDER_KEYS: Record<string, string[]>;
declare const DEPRECATED_KEYS: Record<string, NodeTypesWithoutComment>;
declare const NODE_PARENT_VALIDATIONS: Record<string, Validator>;
declare function getType(val: any): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" | "array" | "null";
type NodeTypesWithoutComment = Node$2["type"] | keyof Aliases;
type NodeTypes = NodeTypesWithoutComment | Comment$1["type"];
type PrimitiveTypes = ReturnType<typeof getType>;
type FieldDefinitions = {
    [x: string]: FieldOptions;
};
type Validator = ({
    type: PrimitiveTypes;
} | {
    each: Validator;
} | {
    chainOf: Validator[];
} | {
    oneOf: any[];
} | {
    oneOfNodeTypes: NodeTypes[];
} | {
    oneOfNodeOrValueTypes: (NodeTypes | PrimitiveTypes)[];
} | {
    shapeOf: {
        [x: string]: FieldOptions;
    };
} | object) & ((node: Node$2, key: string, val: any) => void);
type FieldOptions = {
    default?: string | number | boolean | [];
    optional?: boolean;
    deprecated?: boolean;
    validate?: Validator;
};

declare const PLACEHOLDERS: readonly ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"];
declare const PLACEHOLDERS_ALIAS: Record<string, string[]>;
declare const PLACEHOLDERS_FLIPPED_ALIAS: Record<string, string[]>;

declare const DEPRECATED_ALIASES: {
    ModuleDeclaration: string;
};

declare const TYPES: Array<string>;
//# sourceMappingURL=index.d.ts.map

/**
 * Append a node to a member expression.
 */
declare function appendToMemberExpression(member: MemberExpression$1, append: MemberExpression$1["property"], computed?: boolean): MemberExpression$1;

/**
 * Inherit all contextual properties from `parent` node to `child` node.
 */
declare function inherits<T extends Node$2 | null | undefined>(child: T, parent: Node$2 | null | undefined): T;

/**
 * Prepend a node to a member expression.
 */
declare function prependToMemberExpression<T extends Pick<MemberExpression$1, "object" | "property">>(member: T, prepend: MemberExpression$1["object"]): T;

type Options$2 = {
    preserveComments?: boolean;
};
/**
 * Remove all of the _* properties from a node along with the additional metadata
 * properties like location data and raw token data.
 */
declare function removeProperties(node: Node$2, opts?: Options$2): void;

declare function removePropertiesDeep<T extends Node$2>(tree: T, opts?: {
    preserveComments: boolean;
} | null): T;

/**
 * Dedupe type annotations.
 */
declare function removeTypeDuplicates(nodesIn: ReadonlyArray<FlowType$1 | false | null | undefined>): FlowType$1[];

/**
 * For the given node, generate a map from assignment id names to the identifier node.
 * Unlike getBindingIdentifiers, this function does not handle declarations and imports.
 * @param node the assignment expression or forXstatement
 * @returns an object map
 * @see getBindingIdentifiers
 */
declare function getAssignmentIdentifiers(node: Node$2 | Node$2[]): Record<string, Identifier$1>;

declare function getBindingIdentifiers(node: Node$2, duplicates: true, outerOnly?: boolean, newBindingsOnly?: boolean): Record<string, Array<Identifier$1>>;
declare function getBindingIdentifiers(node: Node$2, duplicates?: false, outerOnly?: boolean, newBindingsOnly?: boolean): Record<string, Identifier$1>;
declare function getBindingIdentifiers(node: Node$2, duplicates?: boolean, outerOnly?: boolean, newBindingsOnly?: boolean): Record<string, Identifier$1> | Record<string, Array<Identifier$1>>;
declare namespace getBindingIdentifiers {
    var keys: KeysMap;
}
/**
 * Mapping of types to their identifier keys.
 */
type KeysMap = {
    [N in Node$2 as N["type"]]?: (keyof N)[];
};
//# sourceMappingURL=getBindingIdentifiers.d.ts.map

declare const _default: {
    (node: Node$2, duplicates: true): Record<string, Array<Identifier$1>>;
    (node: Node$2, duplicates?: false): Record<string, Identifier$1>;
    (node: Node$2, duplicates?: boolean): Record<string, Identifier$1> | Record<string, Array<Identifier$1>>;
};
//# sourceMappingURL=getOuterBindingIdentifiers.d.ts.map

type GetFunctionNameResult = {
    name: string;
    originalNode: Node$2;
} | null;
declare function getFunctionName(node: ObjectMethod$1 | ClassMethod$1): GetFunctionNameResult;
declare function getFunctionName(node: Function | Class, parent: Node$2): GetFunctionNameResult;

type TraversalAncestors = Array<{
    node: Node$2;
    key: string;
    index?: number;
}>;
type TraversalHandler<T> = (this: undefined, node: Node$2, parent: TraversalAncestors, state: T) => void;
type TraversalHandlers<T> = {
    enter?: TraversalHandler<T>;
    exit?: TraversalHandler<T>;
};
/**
 * A general AST traversal with both prefix and postfix handlers, and a
 * state object. Exposes ancestry data to each handler so that more complex
 * AST data can be taken into account.
 */
declare function traverse$2<T>(node: Node$2, handlers: TraversalHandler<T> | TraversalHandlers<T>, state?: T): void;

/**
 * A prefix AST traversal implementation meant for simple searching
 * and processing.
 */
declare function traverseFast<Options = object>(node: Node$2 | null | undefined, enter: (node: Node$2, opts?: Options) => void, opts?: Options): void;

declare function shallowEqual<T extends object>(actual: object, expected: T): actual is T;

declare function is<T extends Node$2["type"]>(type: T, node: Node$2 | null | undefined, opts?: undefined): node is Extract<Node$2, {
    type: T;
}>;
declare function is<T extends Node$2["type"], P extends Extract<Node$2, {
    type: T;
}>>(type: T, n: Node$2 | null | undefined, required: Partial<P>): n is P;
declare function is<P extends Node$2>(type: string, node: Node$2 | null | undefined, opts: Partial<P>): node is P;
declare function is(type: string, node: Node$2 | null | undefined, opts?: Partial<Node$2>): node is Node$2;

/**
 * Check if the input `node` is a binding identifier.
 */
declare function isBinding(node: Node$2, parent: Node$2, grandparent?: Node$2): boolean;

/**
 * Check if the input `node` is block scoped.
 */
declare function isBlockScoped(node: Node$2): boolean;

/**
 * Check if the input `node` is definitely immutable.
 */
declare function isImmutable(node: Node$2): boolean;

/**
 * Check if the input `node` is a `let` variable declaration.
 */
declare function isLet(node: Node$2): boolean;

declare function isNode(node: any): node is Node$2;

/**
 * Check if two nodes are equivalent
 */
declare function isNodesEquivalent<T extends Partial<Node$2>>(a: T, b: any): b is T;

/**
 * Test if a `placeholderType` is a `targetType` or if `targetType` is an alias of `placeholderType`.
 */
declare function isPlaceholderType(placeholderType: string, targetType: string): boolean;

/**
 * Check if the input `node` is a reference to a bound variable.
 */
declare function isReferenced(node: Node$2, parent: Node$2, grandparent?: Node$2): boolean;

/**
 * Check if the input `node` is a scope.
 */
declare function isScope(node: Node$2, parent: Node$2): boolean;

/**
 * Check if the input `specifier` is a `default` import or export.
 */
declare function isSpecifierDefault(specifier: ModuleSpecifier): boolean;

declare function isType<T extends Node$2["type"]>(nodeType: string, targetType: T): nodeType is T;
declare function isType(nodeType: string | null | undefined, targetType: string): boolean;

/**
 * Check if the input `name` is a valid identifier name according to the ES3 specification.
 *
 * Additional ES3 reserved words are
 */
declare function isValidES3Identifier(name: string): boolean;

/**
 * Check if the input `name` is a valid identifier name
 * and isn't a reserved word.
 */
declare function isValidIdentifier(name: string, reserved?: boolean): boolean;

/**
 * Check if the input `node` is a variable declaration.
 */
declare function isVar(node: Node$2): boolean;

/**
 * Determines whether or not the input node `member` matches the
 * input `match`.
 *
 * For example, given the match `React.createClass` it would match the
 * parsed nodes of `React.createClass` and `React["createClass"]`.
 */
declare function matchesPattern(member: Node$2 | null | undefined, match: string | string[], allowPartial?: boolean): boolean;

declare function validate(node: Node$2 | undefined | null, key: string, val: unknown): void;

/**
 * Build a function that when called will return whether or not the
 * input `node` `MemberExpression` matches the input `match`.
 *
 * For example, given the match `React.createClass` it would match the
 * parsed nodes of `React.createClass` and `React["createClass"]`.
 */
declare function buildMatchMemberExpression(match: string, allowPartial?: boolean): (member: Node$2) => boolean;

type Opts<Obj> = Partial<{
    [Prop in keyof Obj]: Obj[Prop] extends Node$2 ? Node$2 : Obj[Prop] extends Node$2[] ? Node$2[] : Obj[Prop];
}>;
declare function isArrayExpression(node: Node$2 | null | undefined, opts?: Opts<ArrayExpression$1> | null): node is ArrayExpression$1;
declare function isAssignmentExpression(node: Node$2 | null | undefined, opts?: Opts<AssignmentExpression$1> | null): node is AssignmentExpression$1;
declare function isBinaryExpression(node: Node$2 | null | undefined, opts?: Opts<BinaryExpression$1> | null): node is BinaryExpression$1;
declare function isInterpreterDirective(node: Node$2 | null | undefined, opts?: Opts<InterpreterDirective$1> | null): node is InterpreterDirective$1;
declare function isDirective(node: Node$2 | null | undefined, opts?: Opts<Directive$1> | null): node is Directive$1;
declare function isDirectiveLiteral(node: Node$2 | null | undefined, opts?: Opts<DirectiveLiteral$1> | null): node is DirectiveLiteral$1;
declare function isBlockStatement(node: Node$2 | null | undefined, opts?: Opts<BlockStatement$1> | null): node is BlockStatement$1;
declare function isBreakStatement(node: Node$2 | null | undefined, opts?: Opts<BreakStatement$1> | null): node is BreakStatement$1;
declare function isCallExpression(node: Node$2 | null | undefined, opts?: Opts<CallExpression$1> | null): node is CallExpression$1;
declare function isCatchClause(node: Node$2 | null | undefined, opts?: Opts<CatchClause$1> | null): node is CatchClause$1;
declare function isConditionalExpression(node: Node$2 | null | undefined, opts?: Opts<ConditionalExpression$1> | null): node is ConditionalExpression$1;
declare function isContinueStatement(node: Node$2 | null | undefined, opts?: Opts<ContinueStatement$1> | null): node is ContinueStatement$1;
declare function isDebuggerStatement(node: Node$2 | null | undefined, opts?: Opts<DebuggerStatement$1> | null): node is DebuggerStatement$1;
declare function isDoWhileStatement(node: Node$2 | null | undefined, opts?: Opts<DoWhileStatement$1> | null): node is DoWhileStatement$1;
declare function isEmptyStatement(node: Node$2 | null | undefined, opts?: Opts<EmptyStatement$1> | null): node is EmptyStatement$1;
declare function isExpressionStatement(node: Node$2 | null | undefined, opts?: Opts<ExpressionStatement$1> | null): node is ExpressionStatement$1;
declare function isFile(node: Node$2 | null | undefined, opts?: Opts<File$1> | null): node is File$1;
declare function isForInStatement(node: Node$2 | null | undefined, opts?: Opts<ForInStatement$1> | null): node is ForInStatement$1;
declare function isForStatement(node: Node$2 | null | undefined, opts?: Opts<ForStatement$1> | null): node is ForStatement$1;
declare function isFunctionDeclaration(node: Node$2 | null | undefined, opts?: Opts<FunctionDeclaration$1> | null): node is FunctionDeclaration$1;
declare function isFunctionExpression(node: Node$2 | null | undefined, opts?: Opts<FunctionExpression$1> | null): node is FunctionExpression$1;
declare function isIdentifier(node: Node$2 | null | undefined, opts?: Opts<Identifier$1> | null): node is Identifier$1;
declare function isIfStatement(node: Node$2 | null | undefined, opts?: Opts<IfStatement$1> | null): node is IfStatement$1;
declare function isLabeledStatement(node: Node$2 | null | undefined, opts?: Opts<LabeledStatement$1> | null): node is LabeledStatement$1;
declare function isStringLiteral(node: Node$2 | null | undefined, opts?: Opts<StringLiteral$1> | null): node is StringLiteral$1;
declare function isNumericLiteral(node: Node$2 | null | undefined, opts?: Opts<NumericLiteral$1> | null): node is NumericLiteral$1;
declare function isNullLiteral(node: Node$2 | null | undefined, opts?: Opts<NullLiteral$1> | null): node is NullLiteral$1;
declare function isBooleanLiteral(node: Node$2 | null | undefined, opts?: Opts<BooleanLiteral$1> | null): node is BooleanLiteral$1;
declare function isRegExpLiteral(node: Node$2 | null | undefined, opts?: Opts<RegExpLiteral$1> | null): node is RegExpLiteral$1;
declare function isLogicalExpression(node: Node$2 | null | undefined, opts?: Opts<LogicalExpression$1> | null): node is LogicalExpression$1;
declare function isMemberExpression(node: Node$2 | null | undefined, opts?: Opts<MemberExpression$1> | null): node is MemberExpression$1;
declare function isNewExpression(node: Node$2 | null | undefined, opts?: Opts<NewExpression$1> | null): node is NewExpression$1;
declare function isProgram(node: Node$2 | null | undefined, opts?: Opts<Program$1> | null): node is Program$1;
declare function isObjectExpression(node: Node$2 | null | undefined, opts?: Opts<ObjectExpression$1> | null): node is ObjectExpression$1;
declare function isObjectMethod(node: Node$2 | null | undefined, opts?: Opts<ObjectMethod$1> | null): node is ObjectMethod$1;
declare function isObjectProperty(node: Node$2 | null | undefined, opts?: Opts<ObjectProperty$1> | null): node is ObjectProperty$1;
declare function isRestElement(node: Node$2 | null | undefined, opts?: Opts<RestElement$1> | null): node is RestElement$1;
declare function isReturnStatement(node: Node$2 | null | undefined, opts?: Opts<ReturnStatement$1> | null): node is ReturnStatement$1;
declare function isSequenceExpression(node: Node$2 | null | undefined, opts?: Opts<SequenceExpression$1> | null): node is SequenceExpression$1;
declare function isParenthesizedExpression(node: Node$2 | null | undefined, opts?: Opts<ParenthesizedExpression$1> | null): node is ParenthesizedExpression$1;
declare function isSwitchCase(node: Node$2 | null | undefined, opts?: Opts<SwitchCase$1> | null): node is SwitchCase$1;
declare function isSwitchStatement(node: Node$2 | null | undefined, opts?: Opts<SwitchStatement$1> | null): node is SwitchStatement$1;
declare function isThisExpression(node: Node$2 | null | undefined, opts?: Opts<ThisExpression$1> | null): node is ThisExpression$1;
declare function isThrowStatement(node: Node$2 | null | undefined, opts?: Opts<ThrowStatement$1> | null): node is ThrowStatement$1;
declare function isTryStatement(node: Node$2 | null | undefined, opts?: Opts<TryStatement$1> | null): node is TryStatement$1;
declare function isUnaryExpression(node: Node$2 | null | undefined, opts?: Opts<UnaryExpression$1> | null): node is UnaryExpression$1;
declare function isUpdateExpression(node: Node$2 | null | undefined, opts?: Opts<UpdateExpression$1> | null): node is UpdateExpression$1;
declare function isVariableDeclaration(node: Node$2 | null | undefined, opts?: Opts<VariableDeclaration$1> | null): node is VariableDeclaration$1;
declare function isVariableDeclarator(node: Node$2 | null | undefined, opts?: Opts<VariableDeclarator$1> | null): node is VariableDeclarator$1;
declare function isWhileStatement(node: Node$2 | null | undefined, opts?: Opts<WhileStatement$1> | null): node is WhileStatement$1;
declare function isWithStatement(node: Node$2 | null | undefined, opts?: Opts<WithStatement$1> | null): node is WithStatement$1;
declare function isAssignmentPattern(node: Node$2 | null | undefined, opts?: Opts<AssignmentPattern$1> | null): node is AssignmentPattern$1;
declare function isArrayPattern(node: Node$2 | null | undefined, opts?: Opts<ArrayPattern$1> | null): node is ArrayPattern$1;
declare function isArrowFunctionExpression(node: Node$2 | null | undefined, opts?: Opts<ArrowFunctionExpression$1> | null): node is ArrowFunctionExpression$1;
declare function isClassBody(node: Node$2 | null | undefined, opts?: Opts<ClassBody$1> | null): node is ClassBody$1;
declare function isClassExpression(node: Node$2 | null | undefined, opts?: Opts<ClassExpression$1> | null): node is ClassExpression$1;
declare function isClassDeclaration(node: Node$2 | null | undefined, opts?: Opts<ClassDeclaration$1> | null): node is ClassDeclaration$1;
declare function isExportAllDeclaration(node: Node$2 | null | undefined, opts?: Opts<ExportAllDeclaration$1> | null): node is ExportAllDeclaration$1;
declare function isExportDefaultDeclaration(node: Node$2 | null | undefined, opts?: Opts<ExportDefaultDeclaration$1> | null): node is ExportDefaultDeclaration$1;
declare function isExportNamedDeclaration(node: Node$2 | null | undefined, opts?: Opts<ExportNamedDeclaration$1> | null): node is ExportNamedDeclaration$1;
declare function isExportSpecifier(node: Node$2 | null | undefined, opts?: Opts<ExportSpecifier$1> | null): node is ExportSpecifier$1;
declare function isForOfStatement(node: Node$2 | null | undefined, opts?: Opts<ForOfStatement$1> | null): node is ForOfStatement$1;
declare function isImportDeclaration(node: Node$2 | null | undefined, opts?: Opts<ImportDeclaration$1> | null): node is ImportDeclaration$1;
declare function isImportDefaultSpecifier(node: Node$2 | null | undefined, opts?: Opts<ImportDefaultSpecifier$1> | null): node is ImportDefaultSpecifier$1;
declare function isImportNamespaceSpecifier(node: Node$2 | null | undefined, opts?: Opts<ImportNamespaceSpecifier$1> | null): node is ImportNamespaceSpecifier$1;
declare function isImportSpecifier(node: Node$2 | null | undefined, opts?: Opts<ImportSpecifier$1> | null): node is ImportSpecifier$1;
declare function isImportExpression(node: Node$2 | null | undefined, opts?: Opts<ImportExpression$1> | null): node is ImportExpression$1;
declare function isMetaProperty(node: Node$2 | null | undefined, opts?: Opts<MetaProperty$1> | null): node is MetaProperty$1;
declare function isClassMethod(node: Node$2 | null | undefined, opts?: Opts<ClassMethod$1> | null): node is ClassMethod$1;
declare function isObjectPattern(node: Node$2 | null | undefined, opts?: Opts<ObjectPattern$1> | null): node is ObjectPattern$1;
declare function isSpreadElement(node: Node$2 | null | undefined, opts?: Opts<SpreadElement$1> | null): node is SpreadElement$1;
declare function isSuper(node: Node$2 | null | undefined, opts?: Opts<Super$1> | null): node is Super$1;
declare function isTaggedTemplateExpression(node: Node$2 | null | undefined, opts?: Opts<TaggedTemplateExpression$1> | null): node is TaggedTemplateExpression$1;
declare function isTemplateElement(node: Node$2 | null | undefined, opts?: Opts<TemplateElement$1> | null): node is TemplateElement$1;
declare function isTemplateLiteral(node: Node$2 | null | undefined, opts?: Opts<TemplateLiteral$1> | null): node is TemplateLiteral$1;
declare function isYieldExpression(node: Node$2 | null | undefined, opts?: Opts<YieldExpression$1> | null): node is YieldExpression$1;
declare function isAwaitExpression(node: Node$2 | null | undefined, opts?: Opts<AwaitExpression$1> | null): node is AwaitExpression$1;
declare function isImport(node: Node$2 | null | undefined, opts?: Opts<Import$1> | null): node is Import$1;
declare function isBigIntLiteral(node: Node$2 | null | undefined, opts?: Opts<BigIntLiteral$1> | null): node is BigIntLiteral$1;
declare function isExportNamespaceSpecifier(node: Node$2 | null | undefined, opts?: Opts<ExportNamespaceSpecifier$1> | null): node is ExportNamespaceSpecifier$1;
declare function isOptionalMemberExpression(node: Node$2 | null | undefined, opts?: Opts<OptionalMemberExpression$1> | null): node is OptionalMemberExpression$1;
declare function isOptionalCallExpression(node: Node$2 | null | undefined, opts?: Opts<OptionalCallExpression$1> | null): node is OptionalCallExpression$1;
declare function isClassProperty(node: Node$2 | null | undefined, opts?: Opts<ClassProperty$1> | null): node is ClassProperty$1;
declare function isClassAccessorProperty(node: Node$2 | null | undefined, opts?: Opts<ClassAccessorProperty$1> | null): node is ClassAccessorProperty$1;
declare function isClassPrivateProperty(node: Node$2 | null | undefined, opts?: Opts<ClassPrivateProperty$1> | null): node is ClassPrivateProperty$1;
declare function isClassPrivateMethod(node: Node$2 | null | undefined, opts?: Opts<ClassPrivateMethod$1> | null): node is ClassPrivateMethod$1;
declare function isPrivateName(node: Node$2 | null | undefined, opts?: Opts<PrivateName$1> | null): node is PrivateName$1;
declare function isStaticBlock(node: Node$2 | null | undefined, opts?: Opts<StaticBlock$1> | null): node is StaticBlock$1;
declare function isAnyTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<AnyTypeAnnotation$1> | null): node is AnyTypeAnnotation$1;
declare function isArrayTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<ArrayTypeAnnotation$1> | null): node is ArrayTypeAnnotation$1;
declare function isBooleanTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<BooleanTypeAnnotation$1> | null): node is BooleanTypeAnnotation$1;
declare function isBooleanLiteralTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<BooleanLiteralTypeAnnotation$1> | null): node is BooleanLiteralTypeAnnotation$1;
declare function isNullLiteralTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<NullLiteralTypeAnnotation$1> | null): node is NullLiteralTypeAnnotation$1;
declare function isClassImplements(node: Node$2 | null | undefined, opts?: Opts<ClassImplements$1> | null): node is ClassImplements$1;
declare function isDeclareClass(node: Node$2 | null | undefined, opts?: Opts<DeclareClass$1> | null): node is DeclareClass$1;
declare function isDeclareFunction(node: Node$2 | null | undefined, opts?: Opts<DeclareFunction$1> | null): node is DeclareFunction$1;
declare function isDeclareInterface(node: Node$2 | null | undefined, opts?: Opts<DeclareInterface$1> | null): node is DeclareInterface$1;
declare function isDeclareModule(node: Node$2 | null | undefined, opts?: Opts<DeclareModule$1> | null): node is DeclareModule$1;
declare function isDeclareModuleExports(node: Node$2 | null | undefined, opts?: Opts<DeclareModuleExports$1> | null): node is DeclareModuleExports$1;
declare function isDeclareTypeAlias(node: Node$2 | null | undefined, opts?: Opts<DeclareTypeAlias$1> | null): node is DeclareTypeAlias$1;
declare function isDeclareOpaqueType(node: Node$2 | null | undefined, opts?: Opts<DeclareOpaqueType$1> | null): node is DeclareOpaqueType$1;
declare function isDeclareVariable(node: Node$2 | null | undefined, opts?: Opts<DeclareVariable$1> | null): node is DeclareVariable$1;
declare function isDeclareExportDeclaration(node: Node$2 | null | undefined, opts?: Opts<DeclareExportDeclaration$1> | null): node is DeclareExportDeclaration$1;
declare function isDeclareExportAllDeclaration(node: Node$2 | null | undefined, opts?: Opts<DeclareExportAllDeclaration$1> | null): node is DeclareExportAllDeclaration$1;
declare function isDeclaredPredicate(node: Node$2 | null | undefined, opts?: Opts<DeclaredPredicate$1> | null): node is DeclaredPredicate$1;
declare function isExistsTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<ExistsTypeAnnotation$1> | null): node is ExistsTypeAnnotation$1;
declare function isFunctionTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<FunctionTypeAnnotation$1> | null): node is FunctionTypeAnnotation$1;
declare function isFunctionTypeParam(node: Node$2 | null | undefined, opts?: Opts<FunctionTypeParam$1> | null): node is FunctionTypeParam$1;
declare function isGenericTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<GenericTypeAnnotation$1> | null): node is GenericTypeAnnotation$1;
declare function isInferredPredicate(node: Node$2 | null | undefined, opts?: Opts<InferredPredicate$1> | null): node is InferredPredicate$1;
declare function isInterfaceExtends(node: Node$2 | null | undefined, opts?: Opts<InterfaceExtends$1> | null): node is InterfaceExtends$1;
declare function isInterfaceDeclaration(node: Node$2 | null | undefined, opts?: Opts<InterfaceDeclaration$1> | null): node is InterfaceDeclaration$1;
declare function isInterfaceTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<InterfaceTypeAnnotation$1> | null): node is InterfaceTypeAnnotation$1;
declare function isIntersectionTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<IntersectionTypeAnnotation$1> | null): node is IntersectionTypeAnnotation$1;
declare function isMixedTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<MixedTypeAnnotation$1> | null): node is MixedTypeAnnotation$1;
declare function isEmptyTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<EmptyTypeAnnotation$1> | null): node is EmptyTypeAnnotation$1;
declare function isNullableTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<NullableTypeAnnotation$1> | null): node is NullableTypeAnnotation$1;
declare function isNumberLiteralTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<NumberLiteralTypeAnnotation$1> | null): node is NumberLiteralTypeAnnotation$1;
declare function isNumberTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<NumberTypeAnnotation$1> | null): node is NumberTypeAnnotation$1;
declare function isObjectTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<ObjectTypeAnnotation$1> | null): node is ObjectTypeAnnotation$1;
declare function isObjectTypeInternalSlot(node: Node$2 | null | undefined, opts?: Opts<ObjectTypeInternalSlot$1> | null): node is ObjectTypeInternalSlot$1;
declare function isObjectTypeCallProperty(node: Node$2 | null | undefined, opts?: Opts<ObjectTypeCallProperty$1> | null): node is ObjectTypeCallProperty$1;
declare function isObjectTypeIndexer(node: Node$2 | null | undefined, opts?: Opts<ObjectTypeIndexer$1> | null): node is ObjectTypeIndexer$1;
declare function isObjectTypeProperty(node: Node$2 | null | undefined, opts?: Opts<ObjectTypeProperty$1> | null): node is ObjectTypeProperty$1;
declare function isObjectTypeSpreadProperty(node: Node$2 | null | undefined, opts?: Opts<ObjectTypeSpreadProperty$1> | null): node is ObjectTypeSpreadProperty$1;
declare function isOpaqueType(node: Node$2 | null | undefined, opts?: Opts<OpaqueType$1> | null): node is OpaqueType$1;
declare function isQualifiedTypeIdentifier(node: Node$2 | null | undefined, opts?: Opts<QualifiedTypeIdentifier$1> | null): node is QualifiedTypeIdentifier$1;
declare function isStringLiteralTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<StringLiteralTypeAnnotation$1> | null): node is StringLiteralTypeAnnotation$1;
declare function isStringTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<StringTypeAnnotation$1> | null): node is StringTypeAnnotation$1;
declare function isSymbolTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<SymbolTypeAnnotation$1> | null): node is SymbolTypeAnnotation$1;
declare function isThisTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<ThisTypeAnnotation$1> | null): node is ThisTypeAnnotation$1;
declare function isTupleTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<TupleTypeAnnotation$1> | null): node is TupleTypeAnnotation$1;
declare function isTypeofTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<TypeofTypeAnnotation$1> | null): node is TypeofTypeAnnotation$1;
declare function isTypeAlias(node: Node$2 | null | undefined, opts?: Opts<TypeAlias$1> | null): node is TypeAlias$1;
declare function isTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<TypeAnnotation$1> | null): node is TypeAnnotation$1;
declare function isTypeCastExpression(node: Node$2 | null | undefined, opts?: Opts<TypeCastExpression$1> | null): node is TypeCastExpression$1;
declare function isTypeParameter(node: Node$2 | null | undefined, opts?: Opts<TypeParameter$1> | null): node is TypeParameter$1;
declare function isTypeParameterDeclaration(node: Node$2 | null | undefined, opts?: Opts<TypeParameterDeclaration$1> | null): node is TypeParameterDeclaration$1;
declare function isTypeParameterInstantiation(node: Node$2 | null | undefined, opts?: Opts<TypeParameterInstantiation$1> | null): node is TypeParameterInstantiation$1;
declare function isUnionTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<UnionTypeAnnotation$1> | null): node is UnionTypeAnnotation$1;
declare function isVariance(node: Node$2 | null | undefined, opts?: Opts<Variance$1> | null): node is Variance$1;
declare function isVoidTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<VoidTypeAnnotation$1> | null): node is VoidTypeAnnotation$1;
declare function isEnumDeclaration(node: Node$2 | null | undefined, opts?: Opts<EnumDeclaration$1> | null): node is EnumDeclaration$1;
declare function isEnumBooleanBody(node: Node$2 | null | undefined, opts?: Opts<EnumBooleanBody$1> | null): node is EnumBooleanBody$1;
declare function isEnumNumberBody(node: Node$2 | null | undefined, opts?: Opts<EnumNumberBody$1> | null): node is EnumNumberBody$1;
declare function isEnumStringBody(node: Node$2 | null | undefined, opts?: Opts<EnumStringBody$1> | null): node is EnumStringBody$1;
declare function isEnumSymbolBody(node: Node$2 | null | undefined, opts?: Opts<EnumSymbolBody$1> | null): node is EnumSymbolBody$1;
declare function isEnumBooleanMember(node: Node$2 | null | undefined, opts?: Opts<EnumBooleanMember$1> | null): node is EnumBooleanMember$1;
declare function isEnumNumberMember(node: Node$2 | null | undefined, opts?: Opts<EnumNumberMember$1> | null): node is EnumNumberMember$1;
declare function isEnumStringMember(node: Node$2 | null | undefined, opts?: Opts<EnumStringMember$1> | null): node is EnumStringMember$1;
declare function isEnumDefaultedMember(node: Node$2 | null | undefined, opts?: Opts<EnumDefaultedMember$1> | null): node is EnumDefaultedMember$1;
declare function isIndexedAccessType(node: Node$2 | null | undefined, opts?: Opts<IndexedAccessType$1> | null): node is IndexedAccessType$1;
declare function isOptionalIndexedAccessType(node: Node$2 | null | undefined, opts?: Opts<OptionalIndexedAccessType$1> | null): node is OptionalIndexedAccessType$1;
declare function isJSXAttribute(node: Node$2 | null | undefined, opts?: Opts<JSXAttribute$1> | null): node is JSXAttribute$1;
declare function isJSXClosingElement(node: Node$2 | null | undefined, opts?: Opts<JSXClosingElement$1> | null): node is JSXClosingElement$1;
declare function isJSXElement(node: Node$2 | null | undefined, opts?: Opts<JSXElement$1> | null): node is JSXElement$1;
declare function isJSXEmptyExpression(node: Node$2 | null | undefined, opts?: Opts<JSXEmptyExpression$1> | null): node is JSXEmptyExpression$1;
declare function isJSXExpressionContainer(node: Node$2 | null | undefined, opts?: Opts<JSXExpressionContainer$1> | null): node is JSXExpressionContainer$1;
declare function isJSXSpreadChild(node: Node$2 | null | undefined, opts?: Opts<JSXSpreadChild$1> | null): node is JSXSpreadChild$1;
declare function isJSXIdentifier(node: Node$2 | null | undefined, opts?: Opts<JSXIdentifier$1> | null): node is JSXIdentifier$1;
declare function isJSXMemberExpression(node: Node$2 | null | undefined, opts?: Opts<JSXMemberExpression$1> | null): node is JSXMemberExpression$1;
declare function isJSXNamespacedName(node: Node$2 | null | undefined, opts?: Opts<JSXNamespacedName$1> | null): node is JSXNamespacedName$1;
declare function isJSXOpeningElement(node: Node$2 | null | undefined, opts?: Opts<JSXOpeningElement$1> | null): node is JSXOpeningElement$1;
declare function isJSXSpreadAttribute(node: Node$2 | null | undefined, opts?: Opts<JSXSpreadAttribute$1> | null): node is JSXSpreadAttribute$1;
declare function isJSXText(node: Node$2 | null | undefined, opts?: Opts<JSXText$1> | null): node is JSXText$1;
declare function isJSXFragment(node: Node$2 | null | undefined, opts?: Opts<JSXFragment$1> | null): node is JSXFragment$1;
declare function isJSXOpeningFragment(node: Node$2 | null | undefined, opts?: Opts<JSXOpeningFragment$1> | null): node is JSXOpeningFragment$1;
declare function isJSXClosingFragment(node: Node$2 | null | undefined, opts?: Opts<JSXClosingFragment$1> | null): node is JSXClosingFragment$1;
declare function isNoop(node: Node$2 | null | undefined, opts?: Opts<Noop$1> | null): node is Noop$1;
declare function isPlaceholder(node: Node$2 | null | undefined, opts?: Opts<Placeholder$1> | null): node is Placeholder$1;
declare function isV8IntrinsicIdentifier(node: Node$2 | null | undefined, opts?: Opts<V8IntrinsicIdentifier$1> | null): node is V8IntrinsicIdentifier$1;
declare function isArgumentPlaceholder(node: Node$2 | null | undefined, opts?: Opts<ArgumentPlaceholder$1> | null): node is ArgumentPlaceholder$1;
declare function isBindExpression(node: Node$2 | null | undefined, opts?: Opts<BindExpression$1> | null): node is BindExpression$1;
declare function isImportAttribute(node: Node$2 | null | undefined, opts?: Opts<ImportAttribute$1> | null): node is ImportAttribute$1;
declare function isDecorator(node: Node$2 | null | undefined, opts?: Opts<Decorator$1> | null): node is Decorator$1;
declare function isDoExpression(node: Node$2 | null | undefined, opts?: Opts<DoExpression$1> | null): node is DoExpression$1;
declare function isExportDefaultSpecifier(node: Node$2 | null | undefined, opts?: Opts<ExportDefaultSpecifier$1> | null): node is ExportDefaultSpecifier$1;
declare function isRecordExpression(node: Node$2 | null | undefined, opts?: Opts<RecordExpression$1> | null): node is RecordExpression$1;
declare function isTupleExpression(node: Node$2 | null | undefined, opts?: Opts<TupleExpression$1> | null): node is TupleExpression$1;
declare function isDecimalLiteral(node: Node$2 | null | undefined, opts?: Opts<DecimalLiteral$1> | null): node is DecimalLiteral$1;
declare function isModuleExpression(node: Node$2 | null | undefined, opts?: Opts<ModuleExpression$1> | null): node is ModuleExpression$1;
declare function isTopicReference(node: Node$2 | null | undefined, opts?: Opts<TopicReference$1> | null): node is TopicReference$1;
declare function isPipelineTopicExpression(node: Node$2 | null | undefined, opts?: Opts<PipelineTopicExpression$1> | null): node is PipelineTopicExpression$1;
declare function isPipelineBareFunction(node: Node$2 | null | undefined, opts?: Opts<PipelineBareFunction$1> | null): node is PipelineBareFunction$1;
declare function isPipelinePrimaryTopicReference(node: Node$2 | null | undefined, opts?: Opts<PipelinePrimaryTopicReference$1> | null): node is PipelinePrimaryTopicReference$1;
declare function isTSParameterProperty(node: Node$2 | null | undefined, opts?: Opts<TSParameterProperty$1> | null): node is TSParameterProperty$1;
declare function isTSDeclareFunction(node: Node$2 | null | undefined, opts?: Opts<TSDeclareFunction$1> | null): node is TSDeclareFunction$1;
declare function isTSDeclareMethod(node: Node$2 | null | undefined, opts?: Opts<TSDeclareMethod$1> | null): node is TSDeclareMethod$1;
declare function isTSQualifiedName(node: Node$2 | null | undefined, opts?: Opts<TSQualifiedName$1> | null): node is TSQualifiedName$1;
declare function isTSCallSignatureDeclaration(node: Node$2 | null | undefined, opts?: Opts<TSCallSignatureDeclaration$1> | null): node is TSCallSignatureDeclaration$1;
declare function isTSConstructSignatureDeclaration(node: Node$2 | null | undefined, opts?: Opts<TSConstructSignatureDeclaration$1> | null): node is TSConstructSignatureDeclaration$1;
declare function isTSPropertySignature(node: Node$2 | null | undefined, opts?: Opts<TSPropertySignature$1> | null): node is TSPropertySignature$1;
declare function isTSMethodSignature(node: Node$2 | null | undefined, opts?: Opts<TSMethodSignature$1> | null): node is TSMethodSignature$1;
declare function isTSIndexSignature(node: Node$2 | null | undefined, opts?: Opts<TSIndexSignature$1> | null): node is TSIndexSignature$1;
declare function isTSAnyKeyword(node: Node$2 | null | undefined, opts?: Opts<TSAnyKeyword$1> | null): node is TSAnyKeyword$1;
declare function isTSBooleanKeyword(node: Node$2 | null | undefined, opts?: Opts<TSBooleanKeyword$1> | null): node is TSBooleanKeyword$1;
declare function isTSBigIntKeyword(node: Node$2 | null | undefined, opts?: Opts<TSBigIntKeyword$1> | null): node is TSBigIntKeyword$1;
declare function isTSIntrinsicKeyword(node: Node$2 | null | undefined, opts?: Opts<TSIntrinsicKeyword$1> | null): node is TSIntrinsicKeyword$1;
declare function isTSNeverKeyword(node: Node$2 | null | undefined, opts?: Opts<TSNeverKeyword$1> | null): node is TSNeverKeyword$1;
declare function isTSNullKeyword(node: Node$2 | null | undefined, opts?: Opts<TSNullKeyword$1> | null): node is TSNullKeyword$1;
declare function isTSNumberKeyword(node: Node$2 | null | undefined, opts?: Opts<TSNumberKeyword$1> | null): node is TSNumberKeyword$1;
declare function isTSObjectKeyword(node: Node$2 | null | undefined, opts?: Opts<TSObjectKeyword$1> | null): node is TSObjectKeyword$1;
declare function isTSStringKeyword(node: Node$2 | null | undefined, opts?: Opts<TSStringKeyword$1> | null): node is TSStringKeyword$1;
declare function isTSSymbolKeyword(node: Node$2 | null | undefined, opts?: Opts<TSSymbolKeyword$1> | null): node is TSSymbolKeyword$1;
declare function isTSUndefinedKeyword(node: Node$2 | null | undefined, opts?: Opts<TSUndefinedKeyword$1> | null): node is TSUndefinedKeyword$1;
declare function isTSUnknownKeyword(node: Node$2 | null | undefined, opts?: Opts<TSUnknownKeyword$1> | null): node is TSUnknownKeyword$1;
declare function isTSVoidKeyword(node: Node$2 | null | undefined, opts?: Opts<TSVoidKeyword$1> | null): node is TSVoidKeyword$1;
declare function isTSThisType(node: Node$2 | null | undefined, opts?: Opts<TSThisType$1> | null): node is TSThisType$1;
declare function isTSFunctionType(node: Node$2 | null | undefined, opts?: Opts<TSFunctionType$1> | null): node is TSFunctionType$1;
declare function isTSConstructorType(node: Node$2 | null | undefined, opts?: Opts<TSConstructorType$1> | null): node is TSConstructorType$1;
declare function isTSTypeReference(node: Node$2 | null | undefined, opts?: Opts<TSTypeReference$1> | null): node is TSTypeReference$1;
declare function isTSTypePredicate(node: Node$2 | null | undefined, opts?: Opts<TSTypePredicate$1> | null): node is TSTypePredicate$1;
declare function isTSTypeQuery(node: Node$2 | null | undefined, opts?: Opts<TSTypeQuery$1> | null): node is TSTypeQuery$1;
declare function isTSTypeLiteral(node: Node$2 | null | undefined, opts?: Opts<TSTypeLiteral$1> | null): node is TSTypeLiteral$1;
declare function isTSArrayType(node: Node$2 | null | undefined, opts?: Opts<TSArrayType$1> | null): node is TSArrayType$1;
declare function isTSTupleType(node: Node$2 | null | undefined, opts?: Opts<TSTupleType$1> | null): node is TSTupleType$1;
declare function isTSOptionalType(node: Node$2 | null | undefined, opts?: Opts<TSOptionalType$1> | null): node is TSOptionalType$1;
declare function isTSRestType(node: Node$2 | null | undefined, opts?: Opts<TSRestType$1> | null): node is TSRestType$1;
declare function isTSNamedTupleMember(node: Node$2 | null | undefined, opts?: Opts<TSNamedTupleMember$1> | null): node is TSNamedTupleMember$1;
declare function isTSUnionType(node: Node$2 | null | undefined, opts?: Opts<TSUnionType$1> | null): node is TSUnionType$1;
declare function isTSIntersectionType(node: Node$2 | null | undefined, opts?: Opts<TSIntersectionType$1> | null): node is TSIntersectionType$1;
declare function isTSConditionalType(node: Node$2 | null | undefined, opts?: Opts<TSConditionalType$1> | null): node is TSConditionalType$1;
declare function isTSInferType(node: Node$2 | null | undefined, opts?: Opts<TSInferType$1> | null): node is TSInferType$1;
declare function isTSParenthesizedType(node: Node$2 | null | undefined, opts?: Opts<TSParenthesizedType$1> | null): node is TSParenthesizedType$1;
declare function isTSTypeOperator(node: Node$2 | null | undefined, opts?: Opts<TSTypeOperator$1> | null): node is TSTypeOperator$1;
declare function isTSIndexedAccessType(node: Node$2 | null | undefined, opts?: Opts<TSIndexedAccessType$1> | null): node is TSIndexedAccessType$1;
declare function isTSMappedType(node: Node$2 | null | undefined, opts?: Opts<TSMappedType$1> | null): node is TSMappedType$1;
declare function isTSTemplateLiteralType(node: Node$2 | null | undefined, opts?: Opts<TSTemplateLiteralType> | null): node is TSTemplateLiteralType;
declare function isTSLiteralType(node: Node$2 | null | undefined, opts?: Opts<TSLiteralType$1> | null): node is TSLiteralType$1;
declare function isTSExpressionWithTypeArguments(node: Node$2 | null | undefined, opts?: Opts<TSExpressionWithTypeArguments$1> | null): node is TSExpressionWithTypeArguments$1;
declare function isTSInterfaceDeclaration(node: Node$2 | null | undefined, opts?: Opts<TSInterfaceDeclaration$1> | null): node is TSInterfaceDeclaration$1;
declare function isTSInterfaceBody(node: Node$2 | null | undefined, opts?: Opts<TSInterfaceBody$1> | null): node is TSInterfaceBody$1;
declare function isTSTypeAliasDeclaration(node: Node$2 | null | undefined, opts?: Opts<TSTypeAliasDeclaration$1> | null): node is TSTypeAliasDeclaration$1;
declare function isTSInstantiationExpression(node: Node$2 | null | undefined, opts?: Opts<TSInstantiationExpression$1> | null): node is TSInstantiationExpression$1;
declare function isTSAsExpression(node: Node$2 | null | undefined, opts?: Opts<TSAsExpression$1> | null): node is TSAsExpression$1;
declare function isTSSatisfiesExpression(node: Node$2 | null | undefined, opts?: Opts<TSSatisfiesExpression$1> | null): node is TSSatisfiesExpression$1;
declare function isTSTypeAssertion(node: Node$2 | null | undefined, opts?: Opts<TSTypeAssertion$1> | null): node is TSTypeAssertion$1;
declare function isTSEnumBody(node: Node$2 | null | undefined, opts?: Opts<TSEnumBody$1> | null): node is TSEnumBody$1;
declare function isTSEnumDeclaration(node: Node$2 | null | undefined, opts?: Opts<TSEnumDeclaration$1> | null): node is TSEnumDeclaration$1;
declare function isTSEnumMember(node: Node$2 | null | undefined, opts?: Opts<TSEnumMember$1> | null): node is TSEnumMember$1;
declare function isTSModuleDeclaration(node: Node$2 | null | undefined, opts?: Opts<TSModuleDeclaration$1> | null): node is TSModuleDeclaration$1;
declare function isTSModuleBlock(node: Node$2 | null | undefined, opts?: Opts<TSModuleBlock$1> | null): node is TSModuleBlock$1;
declare function isTSImportType(node: Node$2 | null | undefined, opts?: Opts<TSImportType$1> | null): node is TSImportType$1;
declare function isTSImportEqualsDeclaration(node: Node$2 | null | undefined, opts?: Opts<TSImportEqualsDeclaration$1> | null): node is TSImportEqualsDeclaration$1;
declare function isTSExternalModuleReference(node: Node$2 | null | undefined, opts?: Opts<TSExternalModuleReference$1> | null): node is TSExternalModuleReference$1;
declare function isTSNonNullExpression(node: Node$2 | null | undefined, opts?: Opts<TSNonNullExpression$1> | null): node is TSNonNullExpression$1;
declare function isTSExportAssignment(node: Node$2 | null | undefined, opts?: Opts<TSExportAssignment$1> | null): node is TSExportAssignment$1;
declare function isTSNamespaceExportDeclaration(node: Node$2 | null | undefined, opts?: Opts<TSNamespaceExportDeclaration$1> | null): node is TSNamespaceExportDeclaration$1;
declare function isTSTypeAnnotation(node: Node$2 | null | undefined, opts?: Opts<TSTypeAnnotation$1> | null): node is TSTypeAnnotation$1;
declare function isTSTypeParameterInstantiation(node: Node$2 | null | undefined, opts?: Opts<TSTypeParameterInstantiation$1> | null): node is TSTypeParameterInstantiation$1;
declare function isTSTypeParameterDeclaration(node: Node$2 | null | undefined, opts?: Opts<TSTypeParameterDeclaration$1> | null): node is TSTypeParameterDeclaration$1;
declare function isTSTypeParameter(node: Node$2 | null | undefined, opts?: Opts<TSTypeParameter$1> | null): node is TSTypeParameter$1;
declare function isStandardized(node: Node$2 | null | undefined, opts?: Opts<Standardized> | null): node is Standardized;
declare function isExpression(node: Node$2 | null | undefined, opts?: Opts<Expression$1> | null): node is Expression$1;
declare function isBinary(node: Node$2 | null | undefined, opts?: Opts<Binary> | null): node is Binary;
declare function isScopable(node: Node$2 | null | undefined, opts?: Opts<Scopable> | null): node is Scopable;
declare function isBlockParent(node: Node$2 | null | undefined, opts?: Opts<BlockParent> | null): node is BlockParent;
declare function isBlock(node: Node$2 | null | undefined, opts?: Opts<Block> | null): node is Block;
declare function isStatement(node: Node$2 | null | undefined, opts?: Opts<Statement$1> | null): node is Statement$1;
declare function isTerminatorless(node: Node$2 | null | undefined, opts?: Opts<Terminatorless> | null): node is Terminatorless;
declare function isCompletionStatement(node: Node$2 | null | undefined, opts?: Opts<CompletionStatement> | null): node is CompletionStatement;
declare function isConditional(node: Node$2 | null | undefined, opts?: Opts<Conditional> | null): node is Conditional;
declare function isLoop(node: Node$2 | null | undefined, opts?: Opts<Loop> | null): node is Loop;
declare function isWhile(node: Node$2 | null | undefined, opts?: Opts<While> | null): node is While;
declare function isExpressionWrapper(node: Node$2 | null | undefined, opts?: Opts<ExpressionWrapper> | null): node is ExpressionWrapper;
declare function isFor(node: Node$2 | null | undefined, opts?: Opts<For> | null): node is For;
declare function isForXStatement(node: Node$2 | null | undefined, opts?: Opts<ForXStatement> | null): node is ForXStatement;
declare function isFunction(node: Node$2 | null | undefined, opts?: Opts<Function> | null): node is Function;
declare function isFunctionParent(node: Node$2 | null | undefined, opts?: Opts<FunctionParent> | null): node is FunctionParent;
declare function isPureish(node: Node$2 | null | undefined, opts?: Opts<Pureish> | null): node is Pureish;
declare function isDeclaration(node: Node$2 | null | undefined, opts?: Opts<Declaration$1> | null): node is Declaration$1;
declare function isPatternLike(node: Node$2 | null | undefined, opts?: Opts<PatternLike$1> | null): node is PatternLike$1;
declare function isLVal(node: Node$2 | null | undefined, opts?: Opts<LVal$1> | null): node is LVal$1;
declare function isTSEntityName(node: Node$2 | null | undefined, opts?: Opts<TSEntityName$1> | null): node is TSEntityName$1;
declare function isLiteral(node: Node$2 | null | undefined, opts?: Opts<Literal> | null): node is Literal;
declare function isUserWhitespacable(node: Node$2 | null | undefined, opts?: Opts<UserWhitespacable> | null): node is UserWhitespacable;
declare function isMethod(node: Node$2 | null | undefined, opts?: Opts<Method> | null): node is Method;
declare function isObjectMember(node: Node$2 | null | undefined, opts?: Opts<ObjectMember> | null): node is ObjectMember;
declare function isProperty(node: Node$2 | null | undefined, opts?: Opts<Property> | null): node is Property;
declare function isUnaryLike(node: Node$2 | null | undefined, opts?: Opts<UnaryLike> | null): node is UnaryLike;
declare function isPattern(node: Node$2 | null | undefined, opts?: Opts<Pattern$1> | null): node is Pattern$1;
declare function isClass(node: Node$2 | null | undefined, opts?: Opts<Class> | null): node is Class;
declare function isImportOrExportDeclaration(node: Node$2 | null | undefined, opts?: Opts<ImportOrExportDeclaration> | null): node is ImportOrExportDeclaration;
declare function isExportDeclaration(node: Node$2 | null | undefined, opts?: Opts<ExportDeclaration> | null): node is ExportDeclaration;
declare function isModuleSpecifier(node: Node$2 | null | undefined, opts?: Opts<ModuleSpecifier> | null): node is ModuleSpecifier;
declare function isAccessor(node: Node$2 | null | undefined, opts?: Opts<Accessor> | null): node is Accessor;
declare function isPrivate(node: Node$2 | null | undefined, opts?: Opts<Private> | null): node is Private;
declare function isFlow(node: Node$2 | null | undefined, opts?: Opts<Flow$1> | null): node is Flow$1;
declare function isFlowType(node: Node$2 | null | undefined, opts?: Opts<FlowType$1> | null): node is FlowType$1;
declare function isFlowBaseAnnotation(node: Node$2 | null | undefined, opts?: Opts<FlowBaseAnnotation> | null): node is FlowBaseAnnotation;
declare function isFlowDeclaration(node: Node$2 | null | undefined, opts?: Opts<FlowDeclaration> | null): node is FlowDeclaration;
declare function isFlowPredicate(node: Node$2 | null | undefined, opts?: Opts<FlowPredicate> | null): node is FlowPredicate;
declare function isEnumBody(node: Node$2 | null | undefined, opts?: Opts<EnumBody> | null): node is EnumBody;
declare function isEnumMember(node: Node$2 | null | undefined, opts?: Opts<EnumMember> | null): node is EnumMember;
declare function isJSX(node: Node$2 | null | undefined, opts?: Opts<JSX> | null): node is JSX;
declare function isMiscellaneous(node: Node$2 | null | undefined, opts?: Opts<Miscellaneous> | null): node is Miscellaneous;
declare function isTypeScript(node: Node$2 | null | undefined, opts?: Opts<TypeScript> | null): node is TypeScript;
declare function isTSTypeElement(node: Node$2 | null | undefined, opts?: Opts<TSTypeElement$1> | null): node is TSTypeElement$1;
declare function isTSType(node: Node$2 | null | undefined, opts?: Opts<TSType$1> | null): node is TSType$1;
declare function isTSBaseType(node: Node$2 | null | undefined, opts?: Opts<TSBaseType> | null): node is TSBaseType;
/**
 * @deprecated Use `isNumericLiteral`
 */
declare function isNumberLiteral(node: Node$2 | null | undefined, opts?: Opts<NumberLiteral$1> | null): boolean;
/**
 * @deprecated Use `isRegExpLiteral`
 */
declare function isRegexLiteral(node: Node$2 | null | undefined, opts?: Opts<RegexLiteral$1> | null): boolean;
/**
 * @deprecated Use `isRestElement`
 */
declare function isRestProperty(node: Node$2 | null | undefined, opts?: Opts<RestProperty$1> | null): boolean;
/**
 * @deprecated Use `isSpreadElement`
 */
declare function isSpreadProperty(node: Node$2 | null | undefined, opts?: Opts<SpreadProperty$1> | null): boolean;
/**
 * @deprecated Use `isImportOrExportDeclaration`
 */
declare function isModuleDeclaration(node: Node$2 | null | undefined, opts?: Opts<ModuleDeclaration> | null): node is ImportOrExportDeclaration;

declare function deprecationWarning(oldName: string, newName: string, prefix?: string): void;

declare const react: {
    isReactComponent: (member: Node$2) => boolean;
    isCompatTag: typeof isCompatTag;
    buildChildren: typeof buildChildren;
};

declare const index_d$1_ACCESSOR_TYPES: typeof ACCESSOR_TYPES;
declare const index_d$1_ALIAS_KEYS: typeof ALIAS_KEYS;
declare const index_d$1_ASSIGNMENT_OPERATORS: typeof ASSIGNMENT_OPERATORS;
type index_d$1_Accessor = Accessor;
type index_d$1_Aliases = Aliases;
declare const index_d$1_BINARY_OPERATORS: typeof BINARY_OPERATORS;
declare const index_d$1_BINARY_TYPES: typeof BINARY_TYPES;
declare const index_d$1_BLOCKPARENT_TYPES: typeof BLOCKPARENT_TYPES;
declare const index_d$1_BLOCK_SCOPED_SYMBOL: typeof BLOCK_SCOPED_SYMBOL;
declare const index_d$1_BLOCK_TYPES: typeof BLOCK_TYPES;
declare const index_d$1_BOOLEAN_BINARY_OPERATORS: typeof BOOLEAN_BINARY_OPERATORS;
declare const index_d$1_BOOLEAN_NUMBER_BINARY_OPERATORS: typeof BOOLEAN_NUMBER_BINARY_OPERATORS;
declare const index_d$1_BOOLEAN_UNARY_OPERATORS: typeof BOOLEAN_UNARY_OPERATORS;
declare const index_d$1_BUILDER_KEYS: typeof BUILDER_KEYS;
type index_d$1_Binary = Binary;
type index_d$1_Block = Block;
type index_d$1_BlockParent = BlockParent;
declare const index_d$1_CLASS_TYPES: typeof CLASS_TYPES;
declare const index_d$1_COMMENT_KEYS: typeof COMMENT_KEYS;
declare const index_d$1_COMPARISON_BINARY_OPERATORS: typeof COMPARISON_BINARY_OPERATORS;
declare const index_d$1_COMPLETIONSTATEMENT_TYPES: typeof COMPLETIONSTATEMENT_TYPES;
declare const index_d$1_CONDITIONAL_TYPES: typeof CONDITIONAL_TYPES;
type index_d$1_Class = Class;
type index_d$1_CommentTypeShorthand = CommentTypeShorthand;
type index_d$1_CompletionStatement = CompletionStatement;
type index_d$1_Conditional = Conditional;
declare const index_d$1_DECLARATION_TYPES: typeof DECLARATION_TYPES;
declare const index_d$1_DEPRECATED_ALIASES: typeof DEPRECATED_ALIASES;
declare const index_d$1_DEPRECATED_KEYS: typeof DEPRECATED_KEYS;
type index_d$1_DeprecatedAliases = DeprecatedAliases;
declare const index_d$1_ENUMBODY_TYPES: typeof ENUMBODY_TYPES;
declare const index_d$1_ENUMMEMBER_TYPES: typeof ENUMMEMBER_TYPES;
declare const index_d$1_EQUALITY_BINARY_OPERATORS: typeof EQUALITY_BINARY_OPERATORS;
declare const index_d$1_EXPORTDECLARATION_TYPES: typeof EXPORTDECLARATION_TYPES;
declare const index_d$1_EXPRESSIONWRAPPER_TYPES: typeof EXPRESSIONWRAPPER_TYPES;
declare const index_d$1_EXPRESSION_TYPES: typeof EXPRESSION_TYPES;
type index_d$1_EnumBody = EnumBody;
type index_d$1_EnumMember = EnumMember;
type index_d$1_ExportDeclaration = ExportDeclaration;
type index_d$1_ExpressionWrapper = ExpressionWrapper;
declare const index_d$1_FLATTENABLE_KEYS: typeof FLATTENABLE_KEYS;
declare const index_d$1_FLIPPED_ALIAS_KEYS: typeof FLIPPED_ALIAS_KEYS;
declare const index_d$1_FLOWBASEANNOTATION_TYPES: typeof FLOWBASEANNOTATION_TYPES;
declare const index_d$1_FLOWDECLARATION_TYPES: typeof FLOWDECLARATION_TYPES;
declare const index_d$1_FLOWPREDICATE_TYPES: typeof FLOWPREDICATE_TYPES;
declare const index_d$1_FLOWTYPE_TYPES: typeof FLOWTYPE_TYPES;
declare const index_d$1_FLOW_TYPES: typeof FLOW_TYPES;
declare const index_d$1_FORXSTATEMENT_TYPES: typeof FORXSTATEMENT_TYPES;
declare const index_d$1_FOR_INIT_KEYS: typeof FOR_INIT_KEYS;
declare const index_d$1_FOR_TYPES: typeof FOR_TYPES;
declare const index_d$1_FUNCTIONPARENT_TYPES: typeof FUNCTIONPARENT_TYPES;
declare const index_d$1_FUNCTION_TYPES: typeof FUNCTION_TYPES;
type index_d$1_FieldOptions = FieldOptions;
type index_d$1_FlowBaseAnnotation = FlowBaseAnnotation;
type index_d$1_FlowDeclaration = FlowDeclaration;
type index_d$1_FlowPredicate = FlowPredicate;
type index_d$1_For = For;
type index_d$1_ForXStatement = ForXStatement;
type index_d$1_Function = Function;
type index_d$1_FunctionParent = FunctionParent;
declare const index_d$1_IMMUTABLE_TYPES: typeof IMMUTABLE_TYPES;
declare const index_d$1_IMPORTOREXPORTDECLARATION_TYPES: typeof IMPORTOREXPORTDECLARATION_TYPES;
declare const index_d$1_INHERIT_KEYS: typeof INHERIT_KEYS;
type index_d$1_Immutable = Immutable;
type index_d$1_ImportOrExportDeclaration = ImportOrExportDeclaration;
type index_d$1_JSX = JSX;
declare const index_d$1_JSX_TYPES: typeof JSX_TYPES;
declare const index_d$1_LITERAL_TYPES: typeof LITERAL_TYPES;
declare const index_d$1_LOGICAL_OPERATORS: typeof LOGICAL_OPERATORS;
declare const index_d$1_LOOP_TYPES: typeof LOOP_TYPES;
declare const index_d$1_LVAL_TYPES: typeof LVAL_TYPES;
type index_d$1_Literal = Literal;
type index_d$1_Loop = Loop;
declare const index_d$1_METHOD_TYPES: typeof METHOD_TYPES;
declare const index_d$1_MISCELLANEOUS_TYPES: typeof MISCELLANEOUS_TYPES;
declare const index_d$1_MODULEDECLARATION_TYPES: typeof MODULEDECLARATION_TYPES;
declare const index_d$1_MODULESPECIFIER_TYPES: typeof MODULESPECIFIER_TYPES;
type index_d$1_Method = Method;
type index_d$1_Miscellaneous = Miscellaneous;
type index_d$1_ModuleDeclaration = ModuleDeclaration;
type index_d$1_ModuleSpecifier = ModuleSpecifier;
declare const index_d$1_NODE_FIELDS: typeof NODE_FIELDS;
declare const index_d$1_NODE_PARENT_VALIDATIONS: typeof NODE_PARENT_VALIDATIONS;
declare const index_d$1_NOT_LOCAL_BINDING: typeof NOT_LOCAL_BINDING;
declare const index_d$1_NUMBER_BINARY_OPERATORS: typeof NUMBER_BINARY_OPERATORS;
declare const index_d$1_NUMBER_UNARY_OPERATORS: typeof NUMBER_UNARY_OPERATORS;
declare const index_d$1_OBJECTMEMBER_TYPES: typeof OBJECTMEMBER_TYPES;
type index_d$1_ObjectMember = ObjectMember;
declare const index_d$1_PATTERNLIKE_TYPES: typeof PATTERNLIKE_TYPES;
declare const index_d$1_PATTERN_TYPES: typeof PATTERN_TYPES;
declare const index_d$1_PLACEHOLDERS: typeof PLACEHOLDERS;
declare const index_d$1_PLACEHOLDERS_ALIAS: typeof PLACEHOLDERS_ALIAS;
declare const index_d$1_PLACEHOLDERS_FLIPPED_ALIAS: typeof PLACEHOLDERS_FLIPPED_ALIAS;
declare const index_d$1_PRIVATE_TYPES: typeof PRIVATE_TYPES;
declare const index_d$1_PROPERTY_TYPES: typeof PROPERTY_TYPES;
declare const index_d$1_PUREISH_TYPES: typeof PUREISH_TYPES;
type index_d$1_ParentMaps = ParentMaps;
type index_d$1_Private = Private;
type index_d$1_Property = Property;
type index_d$1_Pureish = Pureish;
declare const index_d$1_SCOPABLE_TYPES: typeof SCOPABLE_TYPES;
declare const index_d$1_STANDARDIZED_TYPES: typeof STANDARDIZED_TYPES;
declare const index_d$1_STATEMENT_OR_BLOCK_KEYS: typeof STATEMENT_OR_BLOCK_KEYS;
declare const index_d$1_STATEMENT_TYPES: typeof STATEMENT_TYPES;
declare const index_d$1_STRING_UNARY_OPERATORS: typeof STRING_UNARY_OPERATORS;
type index_d$1_Scopable = Scopable;
type index_d$1_Standardized = Standardized;
declare const index_d$1_TERMINATORLESS_TYPES: typeof TERMINATORLESS_TYPES;
declare const index_d$1_TSBASETYPE_TYPES: typeof TSBASETYPE_TYPES;
type index_d$1_TSBaseType = TSBaseType;
declare const index_d$1_TSENTITYNAME_TYPES: typeof TSENTITYNAME_TYPES;
declare const index_d$1_TSTYPEELEMENT_TYPES: typeof TSTYPEELEMENT_TYPES;
declare const index_d$1_TSTYPE_TYPES: typeof TSTYPE_TYPES;
type index_d$1_TSTemplateLiteralType = TSTemplateLiteralType;
declare const index_d$1_TYPES: typeof TYPES;
declare const index_d$1_TYPESCRIPT_TYPES: typeof TYPESCRIPT_TYPES;
type index_d$1_Terminatorless = Terminatorless;
type index_d$1_TraversalAncestors = TraversalAncestors;
type index_d$1_TraversalHandler<T> = TraversalHandler<T>;
type index_d$1_TraversalHandlers<T> = TraversalHandlers<T>;
type index_d$1_TypeScript = TypeScript;
declare const index_d$1_UNARYLIKE_TYPES: typeof UNARYLIKE_TYPES;
declare const index_d$1_UNARY_OPERATORS: typeof UNARY_OPERATORS;
declare const index_d$1_UPDATE_OPERATORS: typeof UPDATE_OPERATORS;
declare const index_d$1_USERWHITESPACABLE_TYPES: typeof USERWHITESPACABLE_TYPES;
type index_d$1_UnaryLike = UnaryLike;
type index_d$1_UserWhitespacable = UserWhitespacable;
declare const index_d$1_VISITOR_KEYS: typeof VISITOR_KEYS;
declare const index_d$1_WHILE_TYPES: typeof WHILE_TYPES;
type index_d$1_While = While;
declare const index_d$1_addComment: typeof addComment;
declare const index_d$1_addComments: typeof addComments;
declare const index_d$1_anyTypeAnnotation: typeof anyTypeAnnotation;
declare const index_d$1_appendToMemberExpression: typeof appendToMemberExpression;
declare const index_d$1_argumentPlaceholder: typeof argumentPlaceholder;
declare const index_d$1_arrayExpression: typeof arrayExpression;
declare const index_d$1_arrayPattern: typeof arrayPattern;
declare const index_d$1_arrayTypeAnnotation: typeof arrayTypeAnnotation;
declare const index_d$1_arrowFunctionExpression: typeof arrowFunctionExpression;
declare const index_d$1_assertAccessor: typeof assertAccessor;
declare const index_d$1_assertAnyTypeAnnotation: typeof assertAnyTypeAnnotation;
declare const index_d$1_assertArgumentPlaceholder: typeof assertArgumentPlaceholder;
declare const index_d$1_assertArrayExpression: typeof assertArrayExpression;
declare const index_d$1_assertArrayPattern: typeof assertArrayPattern;
declare const index_d$1_assertArrayTypeAnnotation: typeof assertArrayTypeAnnotation;
declare const index_d$1_assertArrowFunctionExpression: typeof assertArrowFunctionExpression;
declare const index_d$1_assertAssignmentExpression: typeof assertAssignmentExpression;
declare const index_d$1_assertAssignmentPattern: typeof assertAssignmentPattern;
declare const index_d$1_assertAwaitExpression: typeof assertAwaitExpression;
declare const index_d$1_assertBigIntLiteral: typeof assertBigIntLiteral;
declare const index_d$1_assertBinary: typeof assertBinary;
declare const index_d$1_assertBinaryExpression: typeof assertBinaryExpression;
declare const index_d$1_assertBindExpression: typeof assertBindExpression;
declare const index_d$1_assertBlock: typeof assertBlock;
declare const index_d$1_assertBlockParent: typeof assertBlockParent;
declare const index_d$1_assertBlockStatement: typeof assertBlockStatement;
declare const index_d$1_assertBooleanLiteral: typeof assertBooleanLiteral;
declare const index_d$1_assertBooleanLiteralTypeAnnotation: typeof assertBooleanLiteralTypeAnnotation;
declare const index_d$1_assertBooleanTypeAnnotation: typeof assertBooleanTypeAnnotation;
declare const index_d$1_assertBreakStatement: typeof assertBreakStatement;
declare const index_d$1_assertCallExpression: typeof assertCallExpression;
declare const index_d$1_assertCatchClause: typeof assertCatchClause;
declare const index_d$1_assertClass: typeof assertClass;
declare const index_d$1_assertClassAccessorProperty: typeof assertClassAccessorProperty;
declare const index_d$1_assertClassBody: typeof assertClassBody;
declare const index_d$1_assertClassDeclaration: typeof assertClassDeclaration;
declare const index_d$1_assertClassExpression: typeof assertClassExpression;
declare const index_d$1_assertClassImplements: typeof assertClassImplements;
declare const index_d$1_assertClassMethod: typeof assertClassMethod;
declare const index_d$1_assertClassPrivateMethod: typeof assertClassPrivateMethod;
declare const index_d$1_assertClassPrivateProperty: typeof assertClassPrivateProperty;
declare const index_d$1_assertClassProperty: typeof assertClassProperty;
declare const index_d$1_assertCompletionStatement: typeof assertCompletionStatement;
declare const index_d$1_assertConditional: typeof assertConditional;
declare const index_d$1_assertConditionalExpression: typeof assertConditionalExpression;
declare const index_d$1_assertContinueStatement: typeof assertContinueStatement;
declare const index_d$1_assertDebuggerStatement: typeof assertDebuggerStatement;
declare const index_d$1_assertDecimalLiteral: typeof assertDecimalLiteral;
declare const index_d$1_assertDeclaration: typeof assertDeclaration;
declare const index_d$1_assertDeclareClass: typeof assertDeclareClass;
declare const index_d$1_assertDeclareExportAllDeclaration: typeof assertDeclareExportAllDeclaration;
declare const index_d$1_assertDeclareExportDeclaration: typeof assertDeclareExportDeclaration;
declare const index_d$1_assertDeclareFunction: typeof assertDeclareFunction;
declare const index_d$1_assertDeclareInterface: typeof assertDeclareInterface;
declare const index_d$1_assertDeclareModule: typeof assertDeclareModule;
declare const index_d$1_assertDeclareModuleExports: typeof assertDeclareModuleExports;
declare const index_d$1_assertDeclareOpaqueType: typeof assertDeclareOpaqueType;
declare const index_d$1_assertDeclareTypeAlias: typeof assertDeclareTypeAlias;
declare const index_d$1_assertDeclareVariable: typeof assertDeclareVariable;
declare const index_d$1_assertDeclaredPredicate: typeof assertDeclaredPredicate;
declare const index_d$1_assertDecorator: typeof assertDecorator;
declare const index_d$1_assertDirective: typeof assertDirective;
declare const index_d$1_assertDirectiveLiteral: typeof assertDirectiveLiteral;
declare const index_d$1_assertDoExpression: typeof assertDoExpression;
declare const index_d$1_assertDoWhileStatement: typeof assertDoWhileStatement;
declare const index_d$1_assertEmptyStatement: typeof assertEmptyStatement;
declare const index_d$1_assertEmptyTypeAnnotation: typeof assertEmptyTypeAnnotation;
declare const index_d$1_assertEnumBody: typeof assertEnumBody;
declare const index_d$1_assertEnumBooleanBody: typeof assertEnumBooleanBody;
declare const index_d$1_assertEnumBooleanMember: typeof assertEnumBooleanMember;
declare const index_d$1_assertEnumDeclaration: typeof assertEnumDeclaration;
declare const index_d$1_assertEnumDefaultedMember: typeof assertEnumDefaultedMember;
declare const index_d$1_assertEnumMember: typeof assertEnumMember;
declare const index_d$1_assertEnumNumberBody: typeof assertEnumNumberBody;
declare const index_d$1_assertEnumNumberMember: typeof assertEnumNumberMember;
declare const index_d$1_assertEnumStringBody: typeof assertEnumStringBody;
declare const index_d$1_assertEnumStringMember: typeof assertEnumStringMember;
declare const index_d$1_assertEnumSymbolBody: typeof assertEnumSymbolBody;
declare const index_d$1_assertExistsTypeAnnotation: typeof assertExistsTypeAnnotation;
declare const index_d$1_assertExportAllDeclaration: typeof assertExportAllDeclaration;
declare const index_d$1_assertExportDeclaration: typeof assertExportDeclaration;
declare const index_d$1_assertExportDefaultDeclaration: typeof assertExportDefaultDeclaration;
declare const index_d$1_assertExportDefaultSpecifier: typeof assertExportDefaultSpecifier;
declare const index_d$1_assertExportNamedDeclaration: typeof assertExportNamedDeclaration;
declare const index_d$1_assertExportNamespaceSpecifier: typeof assertExportNamespaceSpecifier;
declare const index_d$1_assertExportSpecifier: typeof assertExportSpecifier;
declare const index_d$1_assertExpression: typeof assertExpression;
declare const index_d$1_assertExpressionStatement: typeof assertExpressionStatement;
declare const index_d$1_assertExpressionWrapper: typeof assertExpressionWrapper;
declare const index_d$1_assertFile: typeof assertFile;
declare const index_d$1_assertFlow: typeof assertFlow;
declare const index_d$1_assertFlowBaseAnnotation: typeof assertFlowBaseAnnotation;
declare const index_d$1_assertFlowDeclaration: typeof assertFlowDeclaration;
declare const index_d$1_assertFlowPredicate: typeof assertFlowPredicate;
declare const index_d$1_assertFlowType: typeof assertFlowType;
declare const index_d$1_assertFor: typeof assertFor;
declare const index_d$1_assertForInStatement: typeof assertForInStatement;
declare const index_d$1_assertForOfStatement: typeof assertForOfStatement;
declare const index_d$1_assertForStatement: typeof assertForStatement;
declare const index_d$1_assertForXStatement: typeof assertForXStatement;
declare const index_d$1_assertFunction: typeof assertFunction;
declare const index_d$1_assertFunctionDeclaration: typeof assertFunctionDeclaration;
declare const index_d$1_assertFunctionExpression: typeof assertFunctionExpression;
declare const index_d$1_assertFunctionParent: typeof assertFunctionParent;
declare const index_d$1_assertFunctionTypeAnnotation: typeof assertFunctionTypeAnnotation;
declare const index_d$1_assertFunctionTypeParam: typeof assertFunctionTypeParam;
declare const index_d$1_assertGenericTypeAnnotation: typeof assertGenericTypeAnnotation;
declare const index_d$1_assertIdentifier: typeof assertIdentifier;
declare const index_d$1_assertIfStatement: typeof assertIfStatement;
declare const index_d$1_assertImmutable: typeof assertImmutable;
declare const index_d$1_assertImport: typeof assertImport;
declare const index_d$1_assertImportAttribute: typeof assertImportAttribute;
declare const index_d$1_assertImportDeclaration: typeof assertImportDeclaration;
declare const index_d$1_assertImportDefaultSpecifier: typeof assertImportDefaultSpecifier;
declare const index_d$1_assertImportExpression: typeof assertImportExpression;
declare const index_d$1_assertImportNamespaceSpecifier: typeof assertImportNamespaceSpecifier;
declare const index_d$1_assertImportOrExportDeclaration: typeof assertImportOrExportDeclaration;
declare const index_d$1_assertImportSpecifier: typeof assertImportSpecifier;
declare const index_d$1_assertIndexedAccessType: typeof assertIndexedAccessType;
declare const index_d$1_assertInferredPredicate: typeof assertInferredPredicate;
declare const index_d$1_assertInterfaceDeclaration: typeof assertInterfaceDeclaration;
declare const index_d$1_assertInterfaceExtends: typeof assertInterfaceExtends;
declare const index_d$1_assertInterfaceTypeAnnotation: typeof assertInterfaceTypeAnnotation;
declare const index_d$1_assertInterpreterDirective: typeof assertInterpreterDirective;
declare const index_d$1_assertIntersectionTypeAnnotation: typeof assertIntersectionTypeAnnotation;
declare const index_d$1_assertJSX: typeof assertJSX;
declare const index_d$1_assertJSXAttribute: typeof assertJSXAttribute;
declare const index_d$1_assertJSXClosingElement: typeof assertJSXClosingElement;
declare const index_d$1_assertJSXClosingFragment: typeof assertJSXClosingFragment;
declare const index_d$1_assertJSXElement: typeof assertJSXElement;
declare const index_d$1_assertJSXEmptyExpression: typeof assertJSXEmptyExpression;
declare const index_d$1_assertJSXExpressionContainer: typeof assertJSXExpressionContainer;
declare const index_d$1_assertJSXFragment: typeof assertJSXFragment;
declare const index_d$1_assertJSXIdentifier: typeof assertJSXIdentifier;
declare const index_d$1_assertJSXMemberExpression: typeof assertJSXMemberExpression;
declare const index_d$1_assertJSXNamespacedName: typeof assertJSXNamespacedName;
declare const index_d$1_assertJSXOpeningElement: typeof assertJSXOpeningElement;
declare const index_d$1_assertJSXOpeningFragment: typeof assertJSXOpeningFragment;
declare const index_d$1_assertJSXSpreadAttribute: typeof assertJSXSpreadAttribute;
declare const index_d$1_assertJSXSpreadChild: typeof assertJSXSpreadChild;
declare const index_d$1_assertJSXText: typeof assertJSXText;
declare const index_d$1_assertLVal: typeof assertLVal;
declare const index_d$1_assertLabeledStatement: typeof assertLabeledStatement;
declare const index_d$1_assertLiteral: typeof assertLiteral;
declare const index_d$1_assertLogicalExpression: typeof assertLogicalExpression;
declare const index_d$1_assertLoop: typeof assertLoop;
declare const index_d$1_assertMemberExpression: typeof assertMemberExpression;
declare const index_d$1_assertMetaProperty: typeof assertMetaProperty;
declare const index_d$1_assertMethod: typeof assertMethod;
declare const index_d$1_assertMiscellaneous: typeof assertMiscellaneous;
declare const index_d$1_assertMixedTypeAnnotation: typeof assertMixedTypeAnnotation;
declare const index_d$1_assertModuleDeclaration: typeof assertModuleDeclaration;
declare const index_d$1_assertModuleExpression: typeof assertModuleExpression;
declare const index_d$1_assertModuleSpecifier: typeof assertModuleSpecifier;
declare const index_d$1_assertNewExpression: typeof assertNewExpression;
declare const index_d$1_assertNode: typeof assertNode;
declare const index_d$1_assertNoop: typeof assertNoop;
declare const index_d$1_assertNullLiteral: typeof assertNullLiteral;
declare const index_d$1_assertNullLiteralTypeAnnotation: typeof assertNullLiteralTypeAnnotation;
declare const index_d$1_assertNullableTypeAnnotation: typeof assertNullableTypeAnnotation;
declare const index_d$1_assertNumberLiteral: typeof assertNumberLiteral;
declare const index_d$1_assertNumberLiteralTypeAnnotation: typeof assertNumberLiteralTypeAnnotation;
declare const index_d$1_assertNumberTypeAnnotation: typeof assertNumberTypeAnnotation;
declare const index_d$1_assertNumericLiteral: typeof assertNumericLiteral;
declare const index_d$1_assertObjectExpression: typeof assertObjectExpression;
declare const index_d$1_assertObjectMember: typeof assertObjectMember;
declare const index_d$1_assertObjectMethod: typeof assertObjectMethod;
declare const index_d$1_assertObjectPattern: typeof assertObjectPattern;
declare const index_d$1_assertObjectProperty: typeof assertObjectProperty;
declare const index_d$1_assertObjectTypeAnnotation: typeof assertObjectTypeAnnotation;
declare const index_d$1_assertObjectTypeCallProperty: typeof assertObjectTypeCallProperty;
declare const index_d$1_assertObjectTypeIndexer: typeof assertObjectTypeIndexer;
declare const index_d$1_assertObjectTypeInternalSlot: typeof assertObjectTypeInternalSlot;
declare const index_d$1_assertObjectTypeProperty: typeof assertObjectTypeProperty;
declare const index_d$1_assertObjectTypeSpreadProperty: typeof assertObjectTypeSpreadProperty;
declare const index_d$1_assertOpaqueType: typeof assertOpaqueType;
declare const index_d$1_assertOptionalCallExpression: typeof assertOptionalCallExpression;
declare const index_d$1_assertOptionalIndexedAccessType: typeof assertOptionalIndexedAccessType;
declare const index_d$1_assertOptionalMemberExpression: typeof assertOptionalMemberExpression;
declare const index_d$1_assertParenthesizedExpression: typeof assertParenthesizedExpression;
declare const index_d$1_assertPattern: typeof assertPattern;
declare const index_d$1_assertPatternLike: typeof assertPatternLike;
declare const index_d$1_assertPipelineBareFunction: typeof assertPipelineBareFunction;
declare const index_d$1_assertPipelinePrimaryTopicReference: typeof assertPipelinePrimaryTopicReference;
declare const index_d$1_assertPipelineTopicExpression: typeof assertPipelineTopicExpression;
declare const index_d$1_assertPlaceholder: typeof assertPlaceholder;
declare const index_d$1_assertPrivate: typeof assertPrivate;
declare const index_d$1_assertPrivateName: typeof assertPrivateName;
declare const index_d$1_assertProgram: typeof assertProgram;
declare const index_d$1_assertProperty: typeof assertProperty;
declare const index_d$1_assertPureish: typeof assertPureish;
declare const index_d$1_assertQualifiedTypeIdentifier: typeof assertQualifiedTypeIdentifier;
declare const index_d$1_assertRecordExpression: typeof assertRecordExpression;
declare const index_d$1_assertRegExpLiteral: typeof assertRegExpLiteral;
declare const index_d$1_assertRegexLiteral: typeof assertRegexLiteral;
declare const index_d$1_assertRestElement: typeof assertRestElement;
declare const index_d$1_assertRestProperty: typeof assertRestProperty;
declare const index_d$1_assertReturnStatement: typeof assertReturnStatement;
declare const index_d$1_assertScopable: typeof assertScopable;
declare const index_d$1_assertSequenceExpression: typeof assertSequenceExpression;
declare const index_d$1_assertSpreadElement: typeof assertSpreadElement;
declare const index_d$1_assertSpreadProperty: typeof assertSpreadProperty;
declare const index_d$1_assertStandardized: typeof assertStandardized;
declare const index_d$1_assertStatement: typeof assertStatement;
declare const index_d$1_assertStaticBlock: typeof assertStaticBlock;
declare const index_d$1_assertStringLiteral: typeof assertStringLiteral;
declare const index_d$1_assertStringLiteralTypeAnnotation: typeof assertStringLiteralTypeAnnotation;
declare const index_d$1_assertStringTypeAnnotation: typeof assertStringTypeAnnotation;
declare const index_d$1_assertSuper: typeof assertSuper;
declare const index_d$1_assertSwitchCase: typeof assertSwitchCase;
declare const index_d$1_assertSwitchStatement: typeof assertSwitchStatement;
declare const index_d$1_assertSymbolTypeAnnotation: typeof assertSymbolTypeAnnotation;
declare const index_d$1_assertTSAnyKeyword: typeof assertTSAnyKeyword;
declare const index_d$1_assertTSArrayType: typeof assertTSArrayType;
declare const index_d$1_assertTSAsExpression: typeof assertTSAsExpression;
declare const index_d$1_assertTSBaseType: typeof assertTSBaseType;
declare const index_d$1_assertTSBigIntKeyword: typeof assertTSBigIntKeyword;
declare const index_d$1_assertTSBooleanKeyword: typeof assertTSBooleanKeyword;
declare const index_d$1_assertTSCallSignatureDeclaration: typeof assertTSCallSignatureDeclaration;
declare const index_d$1_assertTSConditionalType: typeof assertTSConditionalType;
declare const index_d$1_assertTSConstructSignatureDeclaration: typeof assertTSConstructSignatureDeclaration;
declare const index_d$1_assertTSConstructorType: typeof assertTSConstructorType;
declare const index_d$1_assertTSDeclareFunction: typeof assertTSDeclareFunction;
declare const index_d$1_assertTSDeclareMethod: typeof assertTSDeclareMethod;
declare const index_d$1_assertTSEntityName: typeof assertTSEntityName;
declare const index_d$1_assertTSEnumBody: typeof assertTSEnumBody;
declare const index_d$1_assertTSEnumDeclaration: typeof assertTSEnumDeclaration;
declare const index_d$1_assertTSEnumMember: typeof assertTSEnumMember;
declare const index_d$1_assertTSExportAssignment: typeof assertTSExportAssignment;
declare const index_d$1_assertTSExpressionWithTypeArguments: typeof assertTSExpressionWithTypeArguments;
declare const index_d$1_assertTSExternalModuleReference: typeof assertTSExternalModuleReference;
declare const index_d$1_assertTSFunctionType: typeof assertTSFunctionType;
declare const index_d$1_assertTSImportEqualsDeclaration: typeof assertTSImportEqualsDeclaration;
declare const index_d$1_assertTSImportType: typeof assertTSImportType;
declare const index_d$1_assertTSIndexSignature: typeof assertTSIndexSignature;
declare const index_d$1_assertTSIndexedAccessType: typeof assertTSIndexedAccessType;
declare const index_d$1_assertTSInferType: typeof assertTSInferType;
declare const index_d$1_assertTSInstantiationExpression: typeof assertTSInstantiationExpression;
declare const index_d$1_assertTSInterfaceBody: typeof assertTSInterfaceBody;
declare const index_d$1_assertTSInterfaceDeclaration: typeof assertTSInterfaceDeclaration;
declare const index_d$1_assertTSIntersectionType: typeof assertTSIntersectionType;
declare const index_d$1_assertTSIntrinsicKeyword: typeof assertTSIntrinsicKeyword;
declare const index_d$1_assertTSLiteralType: typeof assertTSLiteralType;
declare const index_d$1_assertTSMappedType: typeof assertTSMappedType;
declare const index_d$1_assertTSMethodSignature: typeof assertTSMethodSignature;
declare const index_d$1_assertTSModuleBlock: typeof assertTSModuleBlock;
declare const index_d$1_assertTSModuleDeclaration: typeof assertTSModuleDeclaration;
declare const index_d$1_assertTSNamedTupleMember: typeof assertTSNamedTupleMember;
declare const index_d$1_assertTSNamespaceExportDeclaration: typeof assertTSNamespaceExportDeclaration;
declare const index_d$1_assertTSNeverKeyword: typeof assertTSNeverKeyword;
declare const index_d$1_assertTSNonNullExpression: typeof assertTSNonNullExpression;
declare const index_d$1_assertTSNullKeyword: typeof assertTSNullKeyword;
declare const index_d$1_assertTSNumberKeyword: typeof assertTSNumberKeyword;
declare const index_d$1_assertTSObjectKeyword: typeof assertTSObjectKeyword;
declare const index_d$1_assertTSOptionalType: typeof assertTSOptionalType;
declare const index_d$1_assertTSParameterProperty: typeof assertTSParameterProperty;
declare const index_d$1_assertTSParenthesizedType: typeof assertTSParenthesizedType;
declare const index_d$1_assertTSPropertySignature: typeof assertTSPropertySignature;
declare const index_d$1_assertTSQualifiedName: typeof assertTSQualifiedName;
declare const index_d$1_assertTSRestType: typeof assertTSRestType;
declare const index_d$1_assertTSSatisfiesExpression: typeof assertTSSatisfiesExpression;
declare const index_d$1_assertTSStringKeyword: typeof assertTSStringKeyword;
declare const index_d$1_assertTSSymbolKeyword: typeof assertTSSymbolKeyword;
declare const index_d$1_assertTSTemplateLiteralType: typeof assertTSTemplateLiteralType;
declare const index_d$1_assertTSThisType: typeof assertTSThisType;
declare const index_d$1_assertTSTupleType: typeof assertTSTupleType;
declare const index_d$1_assertTSType: typeof assertTSType;
declare const index_d$1_assertTSTypeAliasDeclaration: typeof assertTSTypeAliasDeclaration;
declare const index_d$1_assertTSTypeAnnotation: typeof assertTSTypeAnnotation;
declare const index_d$1_assertTSTypeAssertion: typeof assertTSTypeAssertion;
declare const index_d$1_assertTSTypeElement: typeof assertTSTypeElement;
declare const index_d$1_assertTSTypeLiteral: typeof assertTSTypeLiteral;
declare const index_d$1_assertTSTypeOperator: typeof assertTSTypeOperator;
declare const index_d$1_assertTSTypeParameter: typeof assertTSTypeParameter;
declare const index_d$1_assertTSTypeParameterDeclaration: typeof assertTSTypeParameterDeclaration;
declare const index_d$1_assertTSTypeParameterInstantiation: typeof assertTSTypeParameterInstantiation;
declare const index_d$1_assertTSTypePredicate: typeof assertTSTypePredicate;
declare const index_d$1_assertTSTypeQuery: typeof assertTSTypeQuery;
declare const index_d$1_assertTSTypeReference: typeof assertTSTypeReference;
declare const index_d$1_assertTSUndefinedKeyword: typeof assertTSUndefinedKeyword;
declare const index_d$1_assertTSUnionType: typeof assertTSUnionType;
declare const index_d$1_assertTSUnknownKeyword: typeof assertTSUnknownKeyword;
declare const index_d$1_assertTSVoidKeyword: typeof assertTSVoidKeyword;
declare const index_d$1_assertTaggedTemplateExpression: typeof assertTaggedTemplateExpression;
declare const index_d$1_assertTemplateElement: typeof assertTemplateElement;
declare const index_d$1_assertTemplateLiteral: typeof assertTemplateLiteral;
declare const index_d$1_assertTerminatorless: typeof assertTerminatorless;
declare const index_d$1_assertThisExpression: typeof assertThisExpression;
declare const index_d$1_assertThisTypeAnnotation: typeof assertThisTypeAnnotation;
declare const index_d$1_assertThrowStatement: typeof assertThrowStatement;
declare const index_d$1_assertTopicReference: typeof assertTopicReference;
declare const index_d$1_assertTryStatement: typeof assertTryStatement;
declare const index_d$1_assertTupleExpression: typeof assertTupleExpression;
declare const index_d$1_assertTupleTypeAnnotation: typeof assertTupleTypeAnnotation;
declare const index_d$1_assertTypeAlias: typeof assertTypeAlias;
declare const index_d$1_assertTypeAnnotation: typeof assertTypeAnnotation;
declare const index_d$1_assertTypeCastExpression: typeof assertTypeCastExpression;
declare const index_d$1_assertTypeParameter: typeof assertTypeParameter;
declare const index_d$1_assertTypeParameterDeclaration: typeof assertTypeParameterDeclaration;
declare const index_d$1_assertTypeParameterInstantiation: typeof assertTypeParameterInstantiation;
declare const index_d$1_assertTypeScript: typeof assertTypeScript;
declare const index_d$1_assertTypeofTypeAnnotation: typeof assertTypeofTypeAnnotation;
declare const index_d$1_assertUnaryExpression: typeof assertUnaryExpression;
declare const index_d$1_assertUnaryLike: typeof assertUnaryLike;
declare const index_d$1_assertUnionTypeAnnotation: typeof assertUnionTypeAnnotation;
declare const index_d$1_assertUpdateExpression: typeof assertUpdateExpression;
declare const index_d$1_assertUserWhitespacable: typeof assertUserWhitespacable;
declare const index_d$1_assertV8IntrinsicIdentifier: typeof assertV8IntrinsicIdentifier;
declare const index_d$1_assertVariableDeclaration: typeof assertVariableDeclaration;
declare const index_d$1_assertVariableDeclarator: typeof assertVariableDeclarator;
declare const index_d$1_assertVariance: typeof assertVariance;
declare const index_d$1_assertVoidTypeAnnotation: typeof assertVoidTypeAnnotation;
declare const index_d$1_assertWhile: typeof assertWhile;
declare const index_d$1_assertWhileStatement: typeof assertWhileStatement;
declare const index_d$1_assertWithStatement: typeof assertWithStatement;
declare const index_d$1_assertYieldExpression: typeof assertYieldExpression;
declare const index_d$1_assignmentExpression: typeof assignmentExpression;
declare const index_d$1_assignmentPattern: typeof assignmentPattern;
declare const index_d$1_awaitExpression: typeof awaitExpression;
declare const index_d$1_bigIntLiteral: typeof bigIntLiteral;
declare const index_d$1_binaryExpression: typeof binaryExpression;
declare const index_d$1_bindExpression: typeof bindExpression;
declare const index_d$1_blockStatement: typeof blockStatement;
declare const index_d$1_booleanLiteral: typeof booleanLiteral;
declare const index_d$1_booleanLiteralTypeAnnotation: typeof booleanLiteralTypeAnnotation;
declare const index_d$1_booleanTypeAnnotation: typeof booleanTypeAnnotation;
declare const index_d$1_breakStatement: typeof breakStatement;
declare const index_d$1_buildMatchMemberExpression: typeof buildMatchMemberExpression;
declare const index_d$1_buildUndefinedNode: typeof buildUndefinedNode;
declare const index_d$1_callExpression: typeof callExpression;
declare const index_d$1_catchClause: typeof catchClause;
declare const index_d$1_classAccessorProperty: typeof classAccessorProperty;
declare const index_d$1_classBody: typeof classBody;
declare const index_d$1_classDeclaration: typeof classDeclaration;
declare const index_d$1_classExpression: typeof classExpression;
declare const index_d$1_classImplements: typeof classImplements;
declare const index_d$1_classMethod: typeof classMethod;
declare const index_d$1_classPrivateMethod: typeof classPrivateMethod;
declare const index_d$1_classPrivateProperty: typeof classPrivateProperty;
declare const index_d$1_classProperty: typeof classProperty;
declare const index_d$1_clone: typeof clone;
declare const index_d$1_cloneDeep: typeof cloneDeep;
declare const index_d$1_cloneDeepWithoutLoc: typeof cloneDeepWithoutLoc;
declare const index_d$1_cloneNode: typeof cloneNode;
declare const index_d$1_cloneWithoutLoc: typeof cloneWithoutLoc;
declare const index_d$1_conditionalExpression: typeof conditionalExpression;
declare const index_d$1_continueStatement: typeof continueStatement;
declare const index_d$1_createFlowUnionType: typeof createFlowUnionType;
declare const index_d$1_createTSUnionType: typeof createTSUnionType;
declare const index_d$1_debuggerStatement: typeof debuggerStatement;
declare const index_d$1_decimalLiteral: typeof decimalLiteral;
declare const index_d$1_declareClass: typeof declareClass;
declare const index_d$1_declareExportAllDeclaration: typeof declareExportAllDeclaration;
declare const index_d$1_declareExportDeclaration: typeof declareExportDeclaration;
declare const index_d$1_declareFunction: typeof declareFunction;
declare const index_d$1_declareInterface: typeof declareInterface;
declare const index_d$1_declareModule: typeof declareModule;
declare const index_d$1_declareModuleExports: typeof declareModuleExports;
declare const index_d$1_declareOpaqueType: typeof declareOpaqueType;
declare const index_d$1_declareTypeAlias: typeof declareTypeAlias;
declare const index_d$1_declareVariable: typeof declareVariable;
declare const index_d$1_declaredPredicate: typeof declaredPredicate;
declare const index_d$1_decorator: typeof decorator;
declare const index_d$1_directive: typeof directive;
declare const index_d$1_directiveLiteral: typeof directiveLiteral;
declare const index_d$1_doExpression: typeof doExpression;
declare const index_d$1_doWhileStatement: typeof doWhileStatement;
declare const index_d$1_emptyStatement: typeof emptyStatement;
declare const index_d$1_emptyTypeAnnotation: typeof emptyTypeAnnotation;
declare const index_d$1_ensureBlock: typeof ensureBlock;
declare const index_d$1_enumBooleanBody: typeof enumBooleanBody;
declare const index_d$1_enumBooleanMember: typeof enumBooleanMember;
declare const index_d$1_enumDeclaration: typeof enumDeclaration;
declare const index_d$1_enumDefaultedMember: typeof enumDefaultedMember;
declare const index_d$1_enumNumberBody: typeof enumNumberBody;
declare const index_d$1_enumNumberMember: typeof enumNumberMember;
declare const index_d$1_enumStringBody: typeof enumStringBody;
declare const index_d$1_enumStringMember: typeof enumStringMember;
declare const index_d$1_enumSymbolBody: typeof enumSymbolBody;
declare const index_d$1_existsTypeAnnotation: typeof existsTypeAnnotation;
declare const index_d$1_exportAllDeclaration: typeof exportAllDeclaration;
declare const index_d$1_exportDefaultDeclaration: typeof exportDefaultDeclaration;
declare const index_d$1_exportDefaultSpecifier: typeof exportDefaultSpecifier;
declare const index_d$1_exportNamedDeclaration: typeof exportNamedDeclaration;
declare const index_d$1_exportNamespaceSpecifier: typeof exportNamespaceSpecifier;
declare const index_d$1_exportSpecifier: typeof exportSpecifier;
declare const index_d$1_expressionStatement: typeof expressionStatement;
declare const index_d$1_file: typeof file;
declare const index_d$1_forInStatement: typeof forInStatement;
declare const index_d$1_forOfStatement: typeof forOfStatement;
declare const index_d$1_forStatement: typeof forStatement;
declare const index_d$1_functionDeclaration: typeof functionDeclaration;
declare const index_d$1_functionExpression: typeof functionExpression;
declare const index_d$1_functionTypeAnnotation: typeof functionTypeAnnotation;
declare const index_d$1_functionTypeParam: typeof functionTypeParam;
declare const index_d$1_genericTypeAnnotation: typeof genericTypeAnnotation;
declare const index_d$1_getAssignmentIdentifiers: typeof getAssignmentIdentifiers;
declare const index_d$1_getBindingIdentifiers: typeof getBindingIdentifiers;
declare const index_d$1_getFunctionName: typeof getFunctionName;
declare const index_d$1_identifier: typeof identifier;
declare const index_d$1_ifStatement: typeof ifStatement;
declare const index_d$1_importAttribute: typeof importAttribute;
declare const index_d$1_importDeclaration: typeof importDeclaration;
declare const index_d$1_importDefaultSpecifier: typeof importDefaultSpecifier;
declare const index_d$1_importExpression: typeof importExpression;
declare const index_d$1_importNamespaceSpecifier: typeof importNamespaceSpecifier;
declare const index_d$1_importSpecifier: typeof importSpecifier;
declare const index_d$1_indexedAccessType: typeof indexedAccessType;
declare const index_d$1_inferredPredicate: typeof inferredPredicate;
declare const index_d$1_inheritInnerComments: typeof inheritInnerComments;
declare const index_d$1_inheritLeadingComments: typeof inheritLeadingComments;
declare const index_d$1_inheritTrailingComments: typeof inheritTrailingComments;
declare const index_d$1_inherits: typeof inherits;
declare const index_d$1_inheritsComments: typeof inheritsComments;
declare const index_d$1_interfaceDeclaration: typeof interfaceDeclaration;
declare const index_d$1_interfaceExtends: typeof interfaceExtends;
declare const index_d$1_interfaceTypeAnnotation: typeof interfaceTypeAnnotation;
declare const index_d$1_interpreterDirective: typeof interpreterDirective;
declare const index_d$1_intersectionTypeAnnotation: typeof intersectionTypeAnnotation;
declare const index_d$1_is: typeof is;
declare const index_d$1_isAccessor: typeof isAccessor;
declare const index_d$1_isAnyTypeAnnotation: typeof isAnyTypeAnnotation;
declare const index_d$1_isArgumentPlaceholder: typeof isArgumentPlaceholder;
declare const index_d$1_isArrayExpression: typeof isArrayExpression;
declare const index_d$1_isArrayPattern: typeof isArrayPattern;
declare const index_d$1_isArrayTypeAnnotation: typeof isArrayTypeAnnotation;
declare const index_d$1_isArrowFunctionExpression: typeof isArrowFunctionExpression;
declare const index_d$1_isAssignmentExpression: typeof isAssignmentExpression;
declare const index_d$1_isAssignmentPattern: typeof isAssignmentPattern;
declare const index_d$1_isAwaitExpression: typeof isAwaitExpression;
declare const index_d$1_isBigIntLiteral: typeof isBigIntLiteral;
declare const index_d$1_isBinary: typeof isBinary;
declare const index_d$1_isBinaryExpression: typeof isBinaryExpression;
declare const index_d$1_isBindExpression: typeof isBindExpression;
declare const index_d$1_isBinding: typeof isBinding;
declare const index_d$1_isBlock: typeof isBlock;
declare const index_d$1_isBlockParent: typeof isBlockParent;
declare const index_d$1_isBlockScoped: typeof isBlockScoped;
declare const index_d$1_isBlockStatement: typeof isBlockStatement;
declare const index_d$1_isBooleanLiteral: typeof isBooleanLiteral;
declare const index_d$1_isBooleanLiteralTypeAnnotation: typeof isBooleanLiteralTypeAnnotation;
declare const index_d$1_isBooleanTypeAnnotation: typeof isBooleanTypeAnnotation;
declare const index_d$1_isBreakStatement: typeof isBreakStatement;
declare const index_d$1_isCallExpression: typeof isCallExpression;
declare const index_d$1_isCatchClause: typeof isCatchClause;
declare const index_d$1_isClass: typeof isClass;
declare const index_d$1_isClassAccessorProperty: typeof isClassAccessorProperty;
declare const index_d$1_isClassBody: typeof isClassBody;
declare const index_d$1_isClassDeclaration: typeof isClassDeclaration;
declare const index_d$1_isClassExpression: typeof isClassExpression;
declare const index_d$1_isClassImplements: typeof isClassImplements;
declare const index_d$1_isClassMethod: typeof isClassMethod;
declare const index_d$1_isClassPrivateMethod: typeof isClassPrivateMethod;
declare const index_d$1_isClassPrivateProperty: typeof isClassPrivateProperty;
declare const index_d$1_isClassProperty: typeof isClassProperty;
declare const index_d$1_isCompletionStatement: typeof isCompletionStatement;
declare const index_d$1_isConditional: typeof isConditional;
declare const index_d$1_isConditionalExpression: typeof isConditionalExpression;
declare const index_d$1_isContinueStatement: typeof isContinueStatement;
declare const index_d$1_isDebuggerStatement: typeof isDebuggerStatement;
declare const index_d$1_isDecimalLiteral: typeof isDecimalLiteral;
declare const index_d$1_isDeclaration: typeof isDeclaration;
declare const index_d$1_isDeclareClass: typeof isDeclareClass;
declare const index_d$1_isDeclareExportAllDeclaration: typeof isDeclareExportAllDeclaration;
declare const index_d$1_isDeclareExportDeclaration: typeof isDeclareExportDeclaration;
declare const index_d$1_isDeclareFunction: typeof isDeclareFunction;
declare const index_d$1_isDeclareInterface: typeof isDeclareInterface;
declare const index_d$1_isDeclareModule: typeof isDeclareModule;
declare const index_d$1_isDeclareModuleExports: typeof isDeclareModuleExports;
declare const index_d$1_isDeclareOpaqueType: typeof isDeclareOpaqueType;
declare const index_d$1_isDeclareTypeAlias: typeof isDeclareTypeAlias;
declare const index_d$1_isDeclareVariable: typeof isDeclareVariable;
declare const index_d$1_isDeclaredPredicate: typeof isDeclaredPredicate;
declare const index_d$1_isDecorator: typeof isDecorator;
declare const index_d$1_isDirective: typeof isDirective;
declare const index_d$1_isDirectiveLiteral: typeof isDirectiveLiteral;
declare const index_d$1_isDoExpression: typeof isDoExpression;
declare const index_d$1_isDoWhileStatement: typeof isDoWhileStatement;
declare const index_d$1_isEmptyStatement: typeof isEmptyStatement;
declare const index_d$1_isEmptyTypeAnnotation: typeof isEmptyTypeAnnotation;
declare const index_d$1_isEnumBody: typeof isEnumBody;
declare const index_d$1_isEnumBooleanBody: typeof isEnumBooleanBody;
declare const index_d$1_isEnumBooleanMember: typeof isEnumBooleanMember;
declare const index_d$1_isEnumDeclaration: typeof isEnumDeclaration;
declare const index_d$1_isEnumDefaultedMember: typeof isEnumDefaultedMember;
declare const index_d$1_isEnumMember: typeof isEnumMember;
declare const index_d$1_isEnumNumberBody: typeof isEnumNumberBody;
declare const index_d$1_isEnumNumberMember: typeof isEnumNumberMember;
declare const index_d$1_isEnumStringBody: typeof isEnumStringBody;
declare const index_d$1_isEnumStringMember: typeof isEnumStringMember;
declare const index_d$1_isEnumSymbolBody: typeof isEnumSymbolBody;
declare const index_d$1_isExistsTypeAnnotation: typeof isExistsTypeAnnotation;
declare const index_d$1_isExportAllDeclaration: typeof isExportAllDeclaration;
declare const index_d$1_isExportDeclaration: typeof isExportDeclaration;
declare const index_d$1_isExportDefaultDeclaration: typeof isExportDefaultDeclaration;
declare const index_d$1_isExportDefaultSpecifier: typeof isExportDefaultSpecifier;
declare const index_d$1_isExportNamedDeclaration: typeof isExportNamedDeclaration;
declare const index_d$1_isExportNamespaceSpecifier: typeof isExportNamespaceSpecifier;
declare const index_d$1_isExportSpecifier: typeof isExportSpecifier;
declare const index_d$1_isExpression: typeof isExpression;
declare const index_d$1_isExpressionStatement: typeof isExpressionStatement;
declare const index_d$1_isExpressionWrapper: typeof isExpressionWrapper;
declare const index_d$1_isFile: typeof isFile;
declare const index_d$1_isFlow: typeof isFlow;
declare const index_d$1_isFlowBaseAnnotation: typeof isFlowBaseAnnotation;
declare const index_d$1_isFlowDeclaration: typeof isFlowDeclaration;
declare const index_d$1_isFlowPredicate: typeof isFlowPredicate;
declare const index_d$1_isFlowType: typeof isFlowType;
declare const index_d$1_isFor: typeof isFor;
declare const index_d$1_isForInStatement: typeof isForInStatement;
declare const index_d$1_isForOfStatement: typeof isForOfStatement;
declare const index_d$1_isForStatement: typeof isForStatement;
declare const index_d$1_isForXStatement: typeof isForXStatement;
declare const index_d$1_isFunction: typeof isFunction;
declare const index_d$1_isFunctionDeclaration: typeof isFunctionDeclaration;
declare const index_d$1_isFunctionExpression: typeof isFunctionExpression;
declare const index_d$1_isFunctionParent: typeof isFunctionParent;
declare const index_d$1_isFunctionTypeAnnotation: typeof isFunctionTypeAnnotation;
declare const index_d$1_isFunctionTypeParam: typeof isFunctionTypeParam;
declare const index_d$1_isGenericTypeAnnotation: typeof isGenericTypeAnnotation;
declare const index_d$1_isIdentifier: typeof isIdentifier;
declare const index_d$1_isIfStatement: typeof isIfStatement;
declare const index_d$1_isImmutable: typeof isImmutable;
declare const index_d$1_isImport: typeof isImport;
declare const index_d$1_isImportAttribute: typeof isImportAttribute;
declare const index_d$1_isImportDeclaration: typeof isImportDeclaration;
declare const index_d$1_isImportDefaultSpecifier: typeof isImportDefaultSpecifier;
declare const index_d$1_isImportExpression: typeof isImportExpression;
declare const index_d$1_isImportNamespaceSpecifier: typeof isImportNamespaceSpecifier;
declare const index_d$1_isImportOrExportDeclaration: typeof isImportOrExportDeclaration;
declare const index_d$1_isImportSpecifier: typeof isImportSpecifier;
declare const index_d$1_isIndexedAccessType: typeof isIndexedAccessType;
declare const index_d$1_isInferredPredicate: typeof isInferredPredicate;
declare const index_d$1_isInterfaceDeclaration: typeof isInterfaceDeclaration;
declare const index_d$1_isInterfaceExtends: typeof isInterfaceExtends;
declare const index_d$1_isInterfaceTypeAnnotation: typeof isInterfaceTypeAnnotation;
declare const index_d$1_isInterpreterDirective: typeof isInterpreterDirective;
declare const index_d$1_isIntersectionTypeAnnotation: typeof isIntersectionTypeAnnotation;
declare const index_d$1_isJSX: typeof isJSX;
declare const index_d$1_isJSXAttribute: typeof isJSXAttribute;
declare const index_d$1_isJSXClosingElement: typeof isJSXClosingElement;
declare const index_d$1_isJSXClosingFragment: typeof isJSXClosingFragment;
declare const index_d$1_isJSXElement: typeof isJSXElement;
declare const index_d$1_isJSXEmptyExpression: typeof isJSXEmptyExpression;
declare const index_d$1_isJSXExpressionContainer: typeof isJSXExpressionContainer;
declare const index_d$1_isJSXFragment: typeof isJSXFragment;
declare const index_d$1_isJSXIdentifier: typeof isJSXIdentifier;
declare const index_d$1_isJSXMemberExpression: typeof isJSXMemberExpression;
declare const index_d$1_isJSXNamespacedName: typeof isJSXNamespacedName;
declare const index_d$1_isJSXOpeningElement: typeof isJSXOpeningElement;
declare const index_d$1_isJSXOpeningFragment: typeof isJSXOpeningFragment;
declare const index_d$1_isJSXSpreadAttribute: typeof isJSXSpreadAttribute;
declare const index_d$1_isJSXSpreadChild: typeof isJSXSpreadChild;
declare const index_d$1_isJSXText: typeof isJSXText;
declare const index_d$1_isLVal: typeof isLVal;
declare const index_d$1_isLabeledStatement: typeof isLabeledStatement;
declare const index_d$1_isLet: typeof isLet;
declare const index_d$1_isLiteral: typeof isLiteral;
declare const index_d$1_isLogicalExpression: typeof isLogicalExpression;
declare const index_d$1_isLoop: typeof isLoop;
declare const index_d$1_isMemberExpression: typeof isMemberExpression;
declare const index_d$1_isMetaProperty: typeof isMetaProperty;
declare const index_d$1_isMethod: typeof isMethod;
declare const index_d$1_isMiscellaneous: typeof isMiscellaneous;
declare const index_d$1_isMixedTypeAnnotation: typeof isMixedTypeAnnotation;
declare const index_d$1_isModuleDeclaration: typeof isModuleDeclaration;
declare const index_d$1_isModuleExpression: typeof isModuleExpression;
declare const index_d$1_isModuleSpecifier: typeof isModuleSpecifier;
declare const index_d$1_isNewExpression: typeof isNewExpression;
declare const index_d$1_isNode: typeof isNode;
declare const index_d$1_isNodesEquivalent: typeof isNodesEquivalent;
declare const index_d$1_isNoop: typeof isNoop;
declare const index_d$1_isNullLiteral: typeof isNullLiteral;
declare const index_d$1_isNullLiteralTypeAnnotation: typeof isNullLiteralTypeAnnotation;
declare const index_d$1_isNullableTypeAnnotation: typeof isNullableTypeAnnotation;
declare const index_d$1_isNumberLiteral: typeof isNumberLiteral;
declare const index_d$1_isNumberLiteralTypeAnnotation: typeof isNumberLiteralTypeAnnotation;
declare const index_d$1_isNumberTypeAnnotation: typeof isNumberTypeAnnotation;
declare const index_d$1_isNumericLiteral: typeof isNumericLiteral;
declare const index_d$1_isObjectExpression: typeof isObjectExpression;
declare const index_d$1_isObjectMember: typeof isObjectMember;
declare const index_d$1_isObjectMethod: typeof isObjectMethod;
declare const index_d$1_isObjectPattern: typeof isObjectPattern;
declare const index_d$1_isObjectProperty: typeof isObjectProperty;
declare const index_d$1_isObjectTypeAnnotation: typeof isObjectTypeAnnotation;
declare const index_d$1_isObjectTypeCallProperty: typeof isObjectTypeCallProperty;
declare const index_d$1_isObjectTypeIndexer: typeof isObjectTypeIndexer;
declare const index_d$1_isObjectTypeInternalSlot: typeof isObjectTypeInternalSlot;
declare const index_d$1_isObjectTypeProperty: typeof isObjectTypeProperty;
declare const index_d$1_isObjectTypeSpreadProperty: typeof isObjectTypeSpreadProperty;
declare const index_d$1_isOpaqueType: typeof isOpaqueType;
declare const index_d$1_isOptionalCallExpression: typeof isOptionalCallExpression;
declare const index_d$1_isOptionalIndexedAccessType: typeof isOptionalIndexedAccessType;
declare const index_d$1_isOptionalMemberExpression: typeof isOptionalMemberExpression;
declare const index_d$1_isParenthesizedExpression: typeof isParenthesizedExpression;
declare const index_d$1_isPattern: typeof isPattern;
declare const index_d$1_isPatternLike: typeof isPatternLike;
declare const index_d$1_isPipelineBareFunction: typeof isPipelineBareFunction;
declare const index_d$1_isPipelinePrimaryTopicReference: typeof isPipelinePrimaryTopicReference;
declare const index_d$1_isPipelineTopicExpression: typeof isPipelineTopicExpression;
declare const index_d$1_isPlaceholder: typeof isPlaceholder;
declare const index_d$1_isPlaceholderType: typeof isPlaceholderType;
declare const index_d$1_isPrivate: typeof isPrivate;
declare const index_d$1_isPrivateName: typeof isPrivateName;
declare const index_d$1_isProgram: typeof isProgram;
declare const index_d$1_isProperty: typeof isProperty;
declare const index_d$1_isPureish: typeof isPureish;
declare const index_d$1_isQualifiedTypeIdentifier: typeof isQualifiedTypeIdentifier;
declare const index_d$1_isRecordExpression: typeof isRecordExpression;
declare const index_d$1_isReferenced: typeof isReferenced;
declare const index_d$1_isRegExpLiteral: typeof isRegExpLiteral;
declare const index_d$1_isRegexLiteral: typeof isRegexLiteral;
declare const index_d$1_isRestElement: typeof isRestElement;
declare const index_d$1_isRestProperty: typeof isRestProperty;
declare const index_d$1_isReturnStatement: typeof isReturnStatement;
declare const index_d$1_isScopable: typeof isScopable;
declare const index_d$1_isScope: typeof isScope;
declare const index_d$1_isSequenceExpression: typeof isSequenceExpression;
declare const index_d$1_isSpecifierDefault: typeof isSpecifierDefault;
declare const index_d$1_isSpreadElement: typeof isSpreadElement;
declare const index_d$1_isSpreadProperty: typeof isSpreadProperty;
declare const index_d$1_isStandardized: typeof isStandardized;
declare const index_d$1_isStatement: typeof isStatement;
declare const index_d$1_isStaticBlock: typeof isStaticBlock;
declare const index_d$1_isStringLiteral: typeof isStringLiteral;
declare const index_d$1_isStringLiteralTypeAnnotation: typeof isStringLiteralTypeAnnotation;
declare const index_d$1_isStringTypeAnnotation: typeof isStringTypeAnnotation;
declare const index_d$1_isSuper: typeof isSuper;
declare const index_d$1_isSwitchCase: typeof isSwitchCase;
declare const index_d$1_isSwitchStatement: typeof isSwitchStatement;
declare const index_d$1_isSymbolTypeAnnotation: typeof isSymbolTypeAnnotation;
declare const index_d$1_isTSAnyKeyword: typeof isTSAnyKeyword;
declare const index_d$1_isTSArrayType: typeof isTSArrayType;
declare const index_d$1_isTSAsExpression: typeof isTSAsExpression;
declare const index_d$1_isTSBaseType: typeof isTSBaseType;
declare const index_d$1_isTSBigIntKeyword: typeof isTSBigIntKeyword;
declare const index_d$1_isTSBooleanKeyword: typeof isTSBooleanKeyword;
declare const index_d$1_isTSCallSignatureDeclaration: typeof isTSCallSignatureDeclaration;
declare const index_d$1_isTSConditionalType: typeof isTSConditionalType;
declare const index_d$1_isTSConstructSignatureDeclaration: typeof isTSConstructSignatureDeclaration;
declare const index_d$1_isTSConstructorType: typeof isTSConstructorType;
declare const index_d$1_isTSDeclareFunction: typeof isTSDeclareFunction;
declare const index_d$1_isTSDeclareMethod: typeof isTSDeclareMethod;
declare const index_d$1_isTSEntityName: typeof isTSEntityName;
declare const index_d$1_isTSEnumBody: typeof isTSEnumBody;
declare const index_d$1_isTSEnumDeclaration: typeof isTSEnumDeclaration;
declare const index_d$1_isTSEnumMember: typeof isTSEnumMember;
declare const index_d$1_isTSExportAssignment: typeof isTSExportAssignment;
declare const index_d$1_isTSExpressionWithTypeArguments: typeof isTSExpressionWithTypeArguments;
declare const index_d$1_isTSExternalModuleReference: typeof isTSExternalModuleReference;
declare const index_d$1_isTSFunctionType: typeof isTSFunctionType;
declare const index_d$1_isTSImportEqualsDeclaration: typeof isTSImportEqualsDeclaration;
declare const index_d$1_isTSImportType: typeof isTSImportType;
declare const index_d$1_isTSIndexSignature: typeof isTSIndexSignature;
declare const index_d$1_isTSIndexedAccessType: typeof isTSIndexedAccessType;
declare const index_d$1_isTSInferType: typeof isTSInferType;
declare const index_d$1_isTSInstantiationExpression: typeof isTSInstantiationExpression;
declare const index_d$1_isTSInterfaceBody: typeof isTSInterfaceBody;
declare const index_d$1_isTSInterfaceDeclaration: typeof isTSInterfaceDeclaration;
declare const index_d$1_isTSIntersectionType: typeof isTSIntersectionType;
declare const index_d$1_isTSIntrinsicKeyword: typeof isTSIntrinsicKeyword;
declare const index_d$1_isTSLiteralType: typeof isTSLiteralType;
declare const index_d$1_isTSMappedType: typeof isTSMappedType;
declare const index_d$1_isTSMethodSignature: typeof isTSMethodSignature;
declare const index_d$1_isTSModuleBlock: typeof isTSModuleBlock;
declare const index_d$1_isTSModuleDeclaration: typeof isTSModuleDeclaration;
declare const index_d$1_isTSNamedTupleMember: typeof isTSNamedTupleMember;
declare const index_d$1_isTSNamespaceExportDeclaration: typeof isTSNamespaceExportDeclaration;
declare const index_d$1_isTSNeverKeyword: typeof isTSNeverKeyword;
declare const index_d$1_isTSNonNullExpression: typeof isTSNonNullExpression;
declare const index_d$1_isTSNullKeyword: typeof isTSNullKeyword;
declare const index_d$1_isTSNumberKeyword: typeof isTSNumberKeyword;
declare const index_d$1_isTSObjectKeyword: typeof isTSObjectKeyword;
declare const index_d$1_isTSOptionalType: typeof isTSOptionalType;
declare const index_d$1_isTSParameterProperty: typeof isTSParameterProperty;
declare const index_d$1_isTSParenthesizedType: typeof isTSParenthesizedType;
declare const index_d$1_isTSPropertySignature: typeof isTSPropertySignature;
declare const index_d$1_isTSQualifiedName: typeof isTSQualifiedName;
declare const index_d$1_isTSRestType: typeof isTSRestType;
declare const index_d$1_isTSSatisfiesExpression: typeof isTSSatisfiesExpression;
declare const index_d$1_isTSStringKeyword: typeof isTSStringKeyword;
declare const index_d$1_isTSSymbolKeyword: typeof isTSSymbolKeyword;
declare const index_d$1_isTSTemplateLiteralType: typeof isTSTemplateLiteralType;
declare const index_d$1_isTSThisType: typeof isTSThisType;
declare const index_d$1_isTSTupleType: typeof isTSTupleType;
declare const index_d$1_isTSType: typeof isTSType;
declare const index_d$1_isTSTypeAliasDeclaration: typeof isTSTypeAliasDeclaration;
declare const index_d$1_isTSTypeAnnotation: typeof isTSTypeAnnotation;
declare const index_d$1_isTSTypeAssertion: typeof isTSTypeAssertion;
declare const index_d$1_isTSTypeElement: typeof isTSTypeElement;
declare const index_d$1_isTSTypeLiteral: typeof isTSTypeLiteral;
declare const index_d$1_isTSTypeOperator: typeof isTSTypeOperator;
declare const index_d$1_isTSTypeParameter: typeof isTSTypeParameter;
declare const index_d$1_isTSTypeParameterDeclaration: typeof isTSTypeParameterDeclaration;
declare const index_d$1_isTSTypeParameterInstantiation: typeof isTSTypeParameterInstantiation;
declare const index_d$1_isTSTypePredicate: typeof isTSTypePredicate;
declare const index_d$1_isTSTypeQuery: typeof isTSTypeQuery;
declare const index_d$1_isTSTypeReference: typeof isTSTypeReference;
declare const index_d$1_isTSUndefinedKeyword: typeof isTSUndefinedKeyword;
declare const index_d$1_isTSUnionType: typeof isTSUnionType;
declare const index_d$1_isTSUnknownKeyword: typeof isTSUnknownKeyword;
declare const index_d$1_isTSVoidKeyword: typeof isTSVoidKeyword;
declare const index_d$1_isTaggedTemplateExpression: typeof isTaggedTemplateExpression;
declare const index_d$1_isTemplateElement: typeof isTemplateElement;
declare const index_d$1_isTemplateLiteral: typeof isTemplateLiteral;
declare const index_d$1_isTerminatorless: typeof isTerminatorless;
declare const index_d$1_isThisExpression: typeof isThisExpression;
declare const index_d$1_isThisTypeAnnotation: typeof isThisTypeAnnotation;
declare const index_d$1_isThrowStatement: typeof isThrowStatement;
declare const index_d$1_isTopicReference: typeof isTopicReference;
declare const index_d$1_isTryStatement: typeof isTryStatement;
declare const index_d$1_isTupleExpression: typeof isTupleExpression;
declare const index_d$1_isTupleTypeAnnotation: typeof isTupleTypeAnnotation;
declare const index_d$1_isType: typeof isType;
declare const index_d$1_isTypeAlias: typeof isTypeAlias;
declare const index_d$1_isTypeAnnotation: typeof isTypeAnnotation;
declare const index_d$1_isTypeCastExpression: typeof isTypeCastExpression;
declare const index_d$1_isTypeParameter: typeof isTypeParameter;
declare const index_d$1_isTypeParameterDeclaration: typeof isTypeParameterDeclaration;
declare const index_d$1_isTypeParameterInstantiation: typeof isTypeParameterInstantiation;
declare const index_d$1_isTypeScript: typeof isTypeScript;
declare const index_d$1_isTypeofTypeAnnotation: typeof isTypeofTypeAnnotation;
declare const index_d$1_isUnaryExpression: typeof isUnaryExpression;
declare const index_d$1_isUnaryLike: typeof isUnaryLike;
declare const index_d$1_isUnionTypeAnnotation: typeof isUnionTypeAnnotation;
declare const index_d$1_isUpdateExpression: typeof isUpdateExpression;
declare const index_d$1_isUserWhitespacable: typeof isUserWhitespacable;
declare const index_d$1_isV8IntrinsicIdentifier: typeof isV8IntrinsicIdentifier;
declare const index_d$1_isValidES3Identifier: typeof isValidES3Identifier;
declare const index_d$1_isValidIdentifier: typeof isValidIdentifier;
declare const index_d$1_isVar: typeof isVar;
declare const index_d$1_isVariableDeclaration: typeof isVariableDeclaration;
declare const index_d$1_isVariableDeclarator: typeof isVariableDeclarator;
declare const index_d$1_isVariance: typeof isVariance;
declare const index_d$1_isVoidTypeAnnotation: typeof isVoidTypeAnnotation;
declare const index_d$1_isWhile: typeof isWhile;
declare const index_d$1_isWhileStatement: typeof isWhileStatement;
declare const index_d$1_isWithStatement: typeof isWithStatement;
declare const index_d$1_isYieldExpression: typeof isYieldExpression;
declare const index_d$1_jsxAttribute: typeof jsxAttribute;
declare const index_d$1_jsxClosingElement: typeof jsxClosingElement;
declare const index_d$1_jsxClosingFragment: typeof jsxClosingFragment;
declare const index_d$1_jsxElement: typeof jsxElement;
declare const index_d$1_jsxEmptyExpression: typeof jsxEmptyExpression;
declare const index_d$1_jsxExpressionContainer: typeof jsxExpressionContainer;
declare const index_d$1_jsxFragment: typeof jsxFragment;
declare const index_d$1_jsxIdentifier: typeof jsxIdentifier;
declare const index_d$1_jsxMemberExpression: typeof jsxMemberExpression;
declare const index_d$1_jsxNamespacedName: typeof jsxNamespacedName;
declare const index_d$1_jsxOpeningElement: typeof jsxOpeningElement;
declare const index_d$1_jsxOpeningFragment: typeof jsxOpeningFragment;
declare const index_d$1_jsxSpreadAttribute: typeof jsxSpreadAttribute;
declare const index_d$1_jsxSpreadChild: typeof jsxSpreadChild;
declare const index_d$1_jsxText: typeof jsxText;
declare const index_d$1_labeledStatement: typeof labeledStatement;
declare const index_d$1_logicalExpression: typeof logicalExpression;
declare const index_d$1_matchesPattern: typeof matchesPattern;
declare const index_d$1_memberExpression: typeof memberExpression;
declare const index_d$1_metaProperty: typeof metaProperty;
declare const index_d$1_mixedTypeAnnotation: typeof mixedTypeAnnotation;
declare const index_d$1_moduleExpression: typeof moduleExpression;
declare const index_d$1_newExpression: typeof newExpression;
declare const index_d$1_noop: typeof noop;
declare const index_d$1_nullLiteral: typeof nullLiteral;
declare const index_d$1_nullLiteralTypeAnnotation: typeof nullLiteralTypeAnnotation;
declare const index_d$1_nullableTypeAnnotation: typeof nullableTypeAnnotation;
declare const index_d$1_numberLiteralTypeAnnotation: typeof numberLiteralTypeAnnotation;
declare const index_d$1_numberTypeAnnotation: typeof numberTypeAnnotation;
declare const index_d$1_numericLiteral: typeof numericLiteral;
declare const index_d$1_objectExpression: typeof objectExpression;
declare const index_d$1_objectMethod: typeof objectMethod;
declare const index_d$1_objectPattern: typeof objectPattern;
declare const index_d$1_objectProperty: typeof objectProperty;
declare const index_d$1_objectTypeAnnotation: typeof objectTypeAnnotation;
declare const index_d$1_objectTypeCallProperty: typeof objectTypeCallProperty;
declare const index_d$1_objectTypeIndexer: typeof objectTypeIndexer;
declare const index_d$1_objectTypeInternalSlot: typeof objectTypeInternalSlot;
declare const index_d$1_objectTypeProperty: typeof objectTypeProperty;
declare const index_d$1_objectTypeSpreadProperty: typeof objectTypeSpreadProperty;
declare const index_d$1_opaqueType: typeof opaqueType;
declare const index_d$1_optionalCallExpression: typeof optionalCallExpression;
declare const index_d$1_optionalIndexedAccessType: typeof optionalIndexedAccessType;
declare const index_d$1_optionalMemberExpression: typeof optionalMemberExpression;
declare const index_d$1_parenthesizedExpression: typeof parenthesizedExpression;
declare const index_d$1_pipelineBareFunction: typeof pipelineBareFunction;
declare const index_d$1_pipelinePrimaryTopicReference: typeof pipelinePrimaryTopicReference;
declare const index_d$1_pipelineTopicExpression: typeof pipelineTopicExpression;
declare const index_d$1_placeholder: typeof placeholder;
declare const index_d$1_prependToMemberExpression: typeof prependToMemberExpression;
declare const index_d$1_privateName: typeof privateName;
declare const index_d$1_qualifiedTypeIdentifier: typeof qualifiedTypeIdentifier;
declare const index_d$1_react: typeof react;
declare const index_d$1_recordExpression: typeof recordExpression;
declare const index_d$1_regExpLiteral: typeof regExpLiteral;
declare const index_d$1_removeComments: typeof removeComments;
declare const index_d$1_removeProperties: typeof removeProperties;
declare const index_d$1_removePropertiesDeep: typeof removePropertiesDeep;
declare const index_d$1_removeTypeDuplicates: typeof removeTypeDuplicates;
declare const index_d$1_restElement: typeof restElement;
declare const index_d$1_returnStatement: typeof returnStatement;
declare const index_d$1_sequenceExpression: typeof sequenceExpression;
declare const index_d$1_shallowEqual: typeof shallowEqual;
declare const index_d$1_spreadElement: typeof spreadElement;
declare const index_d$1_staticBlock: typeof staticBlock;
declare const index_d$1_stringLiteral: typeof stringLiteral;
declare const index_d$1_stringLiteralTypeAnnotation: typeof stringLiteralTypeAnnotation;
declare const index_d$1_stringTypeAnnotation: typeof stringTypeAnnotation;
declare const index_d$1_switchCase: typeof switchCase;
declare const index_d$1_switchStatement: typeof switchStatement;
declare const index_d$1_symbolTypeAnnotation: typeof symbolTypeAnnotation;
declare const index_d$1_taggedTemplateExpression: typeof taggedTemplateExpression;
declare const index_d$1_templateElement: typeof templateElement;
declare const index_d$1_templateLiteral: typeof templateLiteral;
declare const index_d$1_thisExpression: typeof thisExpression;
declare const index_d$1_thisTypeAnnotation: typeof thisTypeAnnotation;
declare const index_d$1_throwStatement: typeof throwStatement;
declare const index_d$1_toBindingIdentifierName: typeof toBindingIdentifierName;
declare const index_d$1_toBlock: typeof toBlock;
declare const index_d$1_toComputedKey: typeof toComputedKey;
declare const index_d$1_toIdentifier: typeof toIdentifier;
declare const index_d$1_toKeyAlias: typeof toKeyAlias;
declare const index_d$1_topicReference: typeof topicReference;
declare const index_d$1_traverseFast: typeof traverseFast;
declare const index_d$1_tryStatement: typeof tryStatement;
declare const index_d$1_tsAnyKeyword: typeof tsAnyKeyword;
declare const index_d$1_tsArrayType: typeof tsArrayType;
declare const index_d$1_tsAsExpression: typeof tsAsExpression;
declare const index_d$1_tsBigIntKeyword: typeof tsBigIntKeyword;
declare const index_d$1_tsBooleanKeyword: typeof tsBooleanKeyword;
declare const index_d$1_tsCallSignatureDeclaration: typeof tsCallSignatureDeclaration;
declare const index_d$1_tsConditionalType: typeof tsConditionalType;
declare const index_d$1_tsConstructSignatureDeclaration: typeof tsConstructSignatureDeclaration;
declare const index_d$1_tsConstructorType: typeof tsConstructorType;
declare const index_d$1_tsDeclareFunction: typeof tsDeclareFunction;
declare const index_d$1_tsDeclareMethod: typeof tsDeclareMethod;
declare const index_d$1_tsEnumBody: typeof tsEnumBody;
declare const index_d$1_tsEnumDeclaration: typeof tsEnumDeclaration;
declare const index_d$1_tsEnumMember: typeof tsEnumMember;
declare const index_d$1_tsExportAssignment: typeof tsExportAssignment;
declare const index_d$1_tsExpressionWithTypeArguments: typeof tsExpressionWithTypeArguments;
declare const index_d$1_tsExternalModuleReference: typeof tsExternalModuleReference;
declare const index_d$1_tsFunctionType: typeof tsFunctionType;
declare const index_d$1_tsImportEqualsDeclaration: typeof tsImportEqualsDeclaration;
declare const index_d$1_tsImportType: typeof tsImportType;
declare const index_d$1_tsIndexSignature: typeof tsIndexSignature;
declare const index_d$1_tsIndexedAccessType: typeof tsIndexedAccessType;
declare const index_d$1_tsInferType: typeof tsInferType;
declare const index_d$1_tsInstantiationExpression: typeof tsInstantiationExpression;
declare const index_d$1_tsInterfaceBody: typeof tsInterfaceBody;
declare const index_d$1_tsInterfaceDeclaration: typeof tsInterfaceDeclaration;
declare const index_d$1_tsIntersectionType: typeof tsIntersectionType;
declare const index_d$1_tsIntrinsicKeyword: typeof tsIntrinsicKeyword;
declare const index_d$1_tsLiteralType: typeof tsLiteralType;
declare const index_d$1_tsMappedType: typeof tsMappedType;
declare const index_d$1_tsMethodSignature: typeof tsMethodSignature;
declare const index_d$1_tsModuleBlock: typeof tsModuleBlock;
declare const index_d$1_tsModuleDeclaration: typeof tsModuleDeclaration;
declare const index_d$1_tsNamedTupleMember: typeof tsNamedTupleMember;
declare const index_d$1_tsNamespaceExportDeclaration: typeof tsNamespaceExportDeclaration;
declare const index_d$1_tsNeverKeyword: typeof tsNeverKeyword;
declare const index_d$1_tsNonNullExpression: typeof tsNonNullExpression;
declare const index_d$1_tsNullKeyword: typeof tsNullKeyword;
declare const index_d$1_tsNumberKeyword: typeof tsNumberKeyword;
declare const index_d$1_tsObjectKeyword: typeof tsObjectKeyword;
declare const index_d$1_tsOptionalType: typeof tsOptionalType;
declare const index_d$1_tsParameterProperty: typeof tsParameterProperty;
declare const index_d$1_tsParenthesizedType: typeof tsParenthesizedType;
declare const index_d$1_tsPropertySignature: typeof tsPropertySignature;
declare const index_d$1_tsQualifiedName: typeof tsQualifiedName;
declare const index_d$1_tsRestType: typeof tsRestType;
declare const index_d$1_tsSatisfiesExpression: typeof tsSatisfiesExpression;
declare const index_d$1_tsStringKeyword: typeof tsStringKeyword;
declare const index_d$1_tsSymbolKeyword: typeof tsSymbolKeyword;
declare const index_d$1_tsTemplateLiteralType: typeof tsTemplateLiteralType;
declare const index_d$1_tsThisType: typeof tsThisType;
declare const index_d$1_tsTupleType: typeof tsTupleType;
declare const index_d$1_tsTypeAliasDeclaration: typeof tsTypeAliasDeclaration;
declare const index_d$1_tsTypeAnnotation: typeof tsTypeAnnotation;
declare const index_d$1_tsTypeAssertion: typeof tsTypeAssertion;
declare const index_d$1_tsTypeLiteral: typeof tsTypeLiteral;
declare const index_d$1_tsTypeOperator: typeof tsTypeOperator;
declare const index_d$1_tsTypeParameter: typeof tsTypeParameter;
declare const index_d$1_tsTypeParameterDeclaration: typeof tsTypeParameterDeclaration;
declare const index_d$1_tsTypeParameterInstantiation: typeof tsTypeParameterInstantiation;
declare const index_d$1_tsTypePredicate: typeof tsTypePredicate;
declare const index_d$1_tsTypeQuery: typeof tsTypeQuery;
declare const index_d$1_tsTypeReference: typeof tsTypeReference;
declare const index_d$1_tsUndefinedKeyword: typeof tsUndefinedKeyword;
declare const index_d$1_tsUnionType: typeof tsUnionType;
declare const index_d$1_tsUnknownKeyword: typeof tsUnknownKeyword;
declare const index_d$1_tsVoidKeyword: typeof tsVoidKeyword;
declare const index_d$1_tupleExpression: typeof tupleExpression;
declare const index_d$1_tupleTypeAnnotation: typeof tupleTypeAnnotation;
declare const index_d$1_typeAlias: typeof typeAlias;
declare const index_d$1_typeAnnotation: typeof typeAnnotation;
declare const index_d$1_typeCastExpression: typeof typeCastExpression;
declare const index_d$1_typeParameter: typeof typeParameter;
declare const index_d$1_typeParameterDeclaration: typeof typeParameterDeclaration;
declare const index_d$1_typeParameterInstantiation: typeof typeParameterInstantiation;
declare const index_d$1_typeofTypeAnnotation: typeof typeofTypeAnnotation;
declare const index_d$1_unaryExpression: typeof unaryExpression;
declare const index_d$1_unionTypeAnnotation: typeof unionTypeAnnotation;
declare const index_d$1_updateExpression: typeof updateExpression;
declare const index_d$1_v8IntrinsicIdentifier: typeof v8IntrinsicIdentifier;
declare const index_d$1_validate: typeof validate;
declare const index_d$1_variableDeclaration: typeof variableDeclaration;
declare const index_d$1_variableDeclarator: typeof variableDeclarator;
declare const index_d$1_variance: typeof variance;
declare const index_d$1_voidTypeAnnotation: typeof voidTypeAnnotation;
declare const index_d$1_whileStatement: typeof whileStatement;
declare const index_d$1_withStatement: typeof withStatement;
declare const index_d$1_yieldExpression: typeof yieldExpression;
declare namespace index_d$1 {
  export { index_d$1_ACCESSOR_TYPES as ACCESSOR_TYPES, index_d$1_ALIAS_KEYS as ALIAS_KEYS, index_d$1_ASSIGNMENT_OPERATORS as ASSIGNMENT_OPERATORS, type index_d$1_Accessor as Accessor, type index_d$1_Aliases as Aliases, type AnyTypeAnnotation$1 as AnyTypeAnnotation, type ArgumentPlaceholder$1 as ArgumentPlaceholder, type ArrayExpression$1 as ArrayExpression, type ArrayPattern$1 as ArrayPattern, type ArrayTypeAnnotation$1 as ArrayTypeAnnotation, type ArrowFunctionExpression$1 as ArrowFunctionExpression, type AssignmentExpression$1 as AssignmentExpression, type AssignmentPattern$1 as AssignmentPattern, type AwaitExpression$1 as AwaitExpression, index_d$1_BINARY_OPERATORS as BINARY_OPERATORS, index_d$1_BINARY_TYPES as BINARY_TYPES, index_d$1_BLOCKPARENT_TYPES as BLOCKPARENT_TYPES, index_d$1_BLOCK_SCOPED_SYMBOL as BLOCK_SCOPED_SYMBOL, index_d$1_BLOCK_TYPES as BLOCK_TYPES, index_d$1_BOOLEAN_BINARY_OPERATORS as BOOLEAN_BINARY_OPERATORS, index_d$1_BOOLEAN_NUMBER_BINARY_OPERATORS as BOOLEAN_NUMBER_BINARY_OPERATORS, index_d$1_BOOLEAN_UNARY_OPERATORS as BOOLEAN_UNARY_OPERATORS, index_d$1_BUILDER_KEYS as BUILDER_KEYS, type BigIntLiteral$1 as BigIntLiteral, type index_d$1_Binary as Binary, type BinaryExpression$1 as BinaryExpression, type BindExpression$1 as BindExpression, type index_d$1_Block as Block, type index_d$1_BlockParent as BlockParent, type BlockStatement$1 as BlockStatement, type BooleanLiteral$1 as BooleanLiteral, type BooleanLiteralTypeAnnotation$1 as BooleanLiteralTypeAnnotation, type BooleanTypeAnnotation$1 as BooleanTypeAnnotation, type BreakStatement$1 as BreakStatement, index_d$1_CLASS_TYPES as CLASS_TYPES, index_d$1_COMMENT_KEYS as COMMENT_KEYS, index_d$1_COMPARISON_BINARY_OPERATORS as COMPARISON_BINARY_OPERATORS, index_d$1_COMPLETIONSTATEMENT_TYPES as COMPLETIONSTATEMENT_TYPES, index_d$1_CONDITIONAL_TYPES as CONDITIONAL_TYPES, type CallExpression$1 as CallExpression, type CatchClause$1 as CatchClause, type index_d$1_Class as Class, type ClassAccessorProperty$1 as ClassAccessorProperty, type ClassBody$1 as ClassBody, type ClassDeclaration$1 as ClassDeclaration, type ClassExpression$1 as ClassExpression, type ClassImplements$1 as ClassImplements, type ClassMethod$1 as ClassMethod, type ClassPrivateMethod$1 as ClassPrivateMethod, type ClassPrivateProperty$1 as ClassPrivateProperty, type ClassProperty$1 as ClassProperty, type Comment$1 as Comment, type CommentBlock$1 as CommentBlock, type CommentLine$1 as CommentLine, type index_d$1_CommentTypeShorthand as CommentTypeShorthand, type index_d$1_CompletionStatement as CompletionStatement, type index_d$1_Conditional as Conditional, type ConditionalExpression$1 as ConditionalExpression, type ContinueStatement$1 as ContinueStatement, index_d$1_DECLARATION_TYPES as DECLARATION_TYPES, index_d$1_DEPRECATED_ALIASES as DEPRECATED_ALIASES, index_d$1_DEPRECATED_KEYS as DEPRECATED_KEYS, type DebuggerStatement$1 as DebuggerStatement, type DecimalLiteral$1 as DecimalLiteral, type Declaration$1 as Declaration, type DeclareClass$1 as DeclareClass, type DeclareExportAllDeclaration$1 as DeclareExportAllDeclaration, type DeclareExportDeclaration$1 as DeclareExportDeclaration, type DeclareFunction$1 as DeclareFunction, type DeclareInterface$1 as DeclareInterface, type DeclareModule$1 as DeclareModule, type DeclareModuleExports$1 as DeclareModuleExports, type DeclareOpaqueType$1 as DeclareOpaqueType, type DeclareTypeAlias$1 as DeclareTypeAlias, type DeclareVariable$1 as DeclareVariable, type DeclaredPredicate$1 as DeclaredPredicate, type Decorator$1 as Decorator, type index_d$1_DeprecatedAliases as DeprecatedAliases, type Directive$1 as Directive, type DirectiveLiteral$1 as DirectiveLiteral, type DoExpression$1 as DoExpression, type DoWhileStatement$1 as DoWhileStatement, index_d$1_ENUMBODY_TYPES as ENUMBODY_TYPES, index_d$1_ENUMMEMBER_TYPES as ENUMMEMBER_TYPES, index_d$1_EQUALITY_BINARY_OPERATORS as EQUALITY_BINARY_OPERATORS, index_d$1_EXPORTDECLARATION_TYPES as EXPORTDECLARATION_TYPES, index_d$1_EXPRESSIONWRAPPER_TYPES as EXPRESSIONWRAPPER_TYPES, index_d$1_EXPRESSION_TYPES as EXPRESSION_TYPES, type EmptyStatement$1 as EmptyStatement, type EmptyTypeAnnotation$1 as EmptyTypeAnnotation, type index_d$1_EnumBody as EnumBody, type EnumBooleanBody$1 as EnumBooleanBody, type EnumBooleanMember$1 as EnumBooleanMember, type EnumDeclaration$1 as EnumDeclaration, type EnumDefaultedMember$1 as EnumDefaultedMember, type index_d$1_EnumMember as EnumMember, type EnumNumberBody$1 as EnumNumberBody, type EnumNumberMember$1 as EnumNumberMember, type EnumStringBody$1 as EnumStringBody, type EnumStringMember$1 as EnumStringMember, type EnumSymbolBody$1 as EnumSymbolBody, type ExistsTypeAnnotation$1 as ExistsTypeAnnotation, type ExportAllDeclaration$1 as ExportAllDeclaration, type index_d$1_ExportDeclaration as ExportDeclaration, type ExportDefaultDeclaration$1 as ExportDefaultDeclaration, type ExportDefaultSpecifier$1 as ExportDefaultSpecifier, type ExportNamedDeclaration$1 as ExportNamedDeclaration, type ExportNamespaceSpecifier$1 as ExportNamespaceSpecifier, type ExportSpecifier$1 as ExportSpecifier, type Expression$1 as Expression, type ExpressionStatement$1 as ExpressionStatement, type index_d$1_ExpressionWrapper as ExpressionWrapper, index_d$1_FLATTENABLE_KEYS as FLATTENABLE_KEYS, index_d$1_FLIPPED_ALIAS_KEYS as FLIPPED_ALIAS_KEYS, index_d$1_FLOWBASEANNOTATION_TYPES as FLOWBASEANNOTATION_TYPES, index_d$1_FLOWDECLARATION_TYPES as FLOWDECLARATION_TYPES, index_d$1_FLOWPREDICATE_TYPES as FLOWPREDICATE_TYPES, index_d$1_FLOWTYPE_TYPES as FLOWTYPE_TYPES, index_d$1_FLOW_TYPES as FLOW_TYPES, index_d$1_FORXSTATEMENT_TYPES as FORXSTATEMENT_TYPES, index_d$1_FOR_INIT_KEYS as FOR_INIT_KEYS, index_d$1_FOR_TYPES as FOR_TYPES, index_d$1_FUNCTIONPARENT_TYPES as FUNCTIONPARENT_TYPES, index_d$1_FUNCTION_TYPES as FUNCTION_TYPES, type index_d$1_FieldOptions as FieldOptions, type File$1 as File, type Flow$1 as Flow, type index_d$1_FlowBaseAnnotation as FlowBaseAnnotation, type index_d$1_FlowDeclaration as FlowDeclaration, type index_d$1_FlowPredicate as FlowPredicate, type FlowType$1 as FlowType, type index_d$1_For as For, type ForInStatement$1 as ForInStatement, type ForOfStatement$1 as ForOfStatement, type ForStatement$1 as ForStatement, type index_d$1_ForXStatement as ForXStatement, type index_d$1_Function as Function, type FunctionDeclaration$1 as FunctionDeclaration, type FunctionExpression$1 as FunctionExpression, type index_d$1_FunctionParent as FunctionParent, type FunctionTypeAnnotation$1 as FunctionTypeAnnotation, type FunctionTypeParam$1 as FunctionTypeParam, type GenericTypeAnnotation$1 as GenericTypeAnnotation, index_d$1_IMMUTABLE_TYPES as IMMUTABLE_TYPES, index_d$1_IMPORTOREXPORTDECLARATION_TYPES as IMPORTOREXPORTDECLARATION_TYPES, index_d$1_INHERIT_KEYS as INHERIT_KEYS, type Identifier$1 as Identifier, type IfStatement$1 as IfStatement, type index_d$1_Immutable as Immutable, type Import$1 as Import, type ImportAttribute$1 as ImportAttribute, type ImportDeclaration$1 as ImportDeclaration, type ImportDefaultSpecifier$1 as ImportDefaultSpecifier, type ImportExpression$1 as ImportExpression, type ImportNamespaceSpecifier$1 as ImportNamespaceSpecifier, type index_d$1_ImportOrExportDeclaration as ImportOrExportDeclaration, type ImportSpecifier$1 as ImportSpecifier, type IndexedAccessType$1 as IndexedAccessType, type InferredPredicate$1 as InferredPredicate, type InterfaceDeclaration$1 as InterfaceDeclaration, type InterfaceExtends$1 as InterfaceExtends, type InterfaceTypeAnnotation$1 as InterfaceTypeAnnotation, type InterpreterDirective$1 as InterpreterDirective, type IntersectionTypeAnnotation$1 as IntersectionTypeAnnotation, type index_d$1_JSX as JSX, type JSXAttribute$1 as JSXAttribute, type JSXClosingElement$1 as JSXClosingElement, type JSXClosingFragment$1 as JSXClosingFragment, type JSXElement$1 as JSXElement, type JSXEmptyExpression$1 as JSXEmptyExpression, type JSXExpressionContainer$1 as JSXExpressionContainer, type JSXFragment$1 as JSXFragment, type JSXIdentifier$1 as JSXIdentifier, type JSXMemberExpression$1 as JSXMemberExpression, type JSXNamespacedName$1 as JSXNamespacedName, type JSXOpeningElement$1 as JSXOpeningElement, type JSXOpeningFragment$1 as JSXOpeningFragment, type JSXSpreadAttribute$1 as JSXSpreadAttribute, type JSXSpreadChild$1 as JSXSpreadChild, type JSXText$1 as JSXText, index_d$1_JSX_TYPES as JSX_TYPES, index_d$1_LITERAL_TYPES as LITERAL_TYPES, index_d$1_LOGICAL_OPERATORS as LOGICAL_OPERATORS, index_d$1_LOOP_TYPES as LOOP_TYPES, index_d$1_LVAL_TYPES as LVAL_TYPES, type LVal$1 as LVal, type LabeledStatement$1 as LabeledStatement, type index_d$1_Literal as Literal, type LogicalExpression$1 as LogicalExpression, type index_d$1_Loop as Loop, index_d$1_METHOD_TYPES as METHOD_TYPES, index_d$1_MISCELLANEOUS_TYPES as MISCELLANEOUS_TYPES, index_d$1_MODULEDECLARATION_TYPES as MODULEDECLARATION_TYPES, index_d$1_MODULESPECIFIER_TYPES as MODULESPECIFIER_TYPES, type MemberExpression$1 as MemberExpression, type MetaProperty$1 as MetaProperty, type index_d$1_Method as Method, type index_d$1_Miscellaneous as Miscellaneous, type MixedTypeAnnotation$1 as MixedTypeAnnotation, type index_d$1_ModuleDeclaration as ModuleDeclaration, type ModuleExpression$1 as ModuleExpression, type index_d$1_ModuleSpecifier as ModuleSpecifier, index_d$1_NODE_FIELDS as NODE_FIELDS, index_d$1_NODE_PARENT_VALIDATIONS as NODE_PARENT_VALIDATIONS, index_d$1_NOT_LOCAL_BINDING as NOT_LOCAL_BINDING, index_d$1_NUMBER_BINARY_OPERATORS as NUMBER_BINARY_OPERATORS, index_d$1_NUMBER_UNARY_OPERATORS as NUMBER_UNARY_OPERATORS, type NewExpression$1 as NewExpression, type Node$2 as Node, type Noop$1 as Noop, type NullLiteral$1 as NullLiteral, type NullLiteralTypeAnnotation$1 as NullLiteralTypeAnnotation, type NullableTypeAnnotation$1 as NullableTypeAnnotation, type NumberLiteral$1 as NumberLiteral, type NumberLiteralTypeAnnotation$1 as NumberLiteralTypeAnnotation, type NumberTypeAnnotation$1 as NumberTypeAnnotation, type NumericLiteral$1 as NumericLiteral, index_d$1_OBJECTMEMBER_TYPES as OBJECTMEMBER_TYPES, type ObjectExpression$1 as ObjectExpression, type index_d$1_ObjectMember as ObjectMember, type ObjectMethod$1 as ObjectMethod, type ObjectPattern$1 as ObjectPattern, type ObjectProperty$1 as ObjectProperty, type ObjectTypeAnnotation$1 as ObjectTypeAnnotation, type ObjectTypeCallProperty$1 as ObjectTypeCallProperty, type ObjectTypeIndexer$1 as ObjectTypeIndexer, type ObjectTypeInternalSlot$1 as ObjectTypeInternalSlot, type ObjectTypeProperty$1 as ObjectTypeProperty, type ObjectTypeSpreadProperty$1 as ObjectTypeSpreadProperty, type OpaqueType$1 as OpaqueType, type OptionalCallExpression$1 as OptionalCallExpression, type OptionalIndexedAccessType$1 as OptionalIndexedAccessType, type OptionalMemberExpression$1 as OptionalMemberExpression, index_d$1_PATTERNLIKE_TYPES as PATTERNLIKE_TYPES, index_d$1_PATTERN_TYPES as PATTERN_TYPES, index_d$1_PLACEHOLDERS as PLACEHOLDERS, index_d$1_PLACEHOLDERS_ALIAS as PLACEHOLDERS_ALIAS, index_d$1_PLACEHOLDERS_FLIPPED_ALIAS as PLACEHOLDERS_FLIPPED_ALIAS, index_d$1_PRIVATE_TYPES as PRIVATE_TYPES, index_d$1_PROPERTY_TYPES as PROPERTY_TYPES, index_d$1_PUREISH_TYPES as PUREISH_TYPES, type index_d$1_ParentMaps as ParentMaps, type ParenthesizedExpression$1 as ParenthesizedExpression, type Pattern$1 as Pattern, type PatternLike$1 as PatternLike, type PipelineBareFunction$1 as PipelineBareFunction, type PipelinePrimaryTopicReference$1 as PipelinePrimaryTopicReference, type PipelineTopicExpression$1 as PipelineTopicExpression, type Placeholder$1 as Placeholder, type index_d$1_Private as Private, type PrivateName$1 as PrivateName, type Program$1 as Program, type index_d$1_Property as Property, type index_d$1_Pureish as Pureish, type QualifiedTypeIdentifier$1 as QualifiedTypeIdentifier, type RecordExpression$1 as RecordExpression, type RegExpLiteral$1 as RegExpLiteral, type RegexLiteral$1 as RegexLiteral, type Options$2 as RemovePropertiesOptions, type RestElement$1 as RestElement, type RestProperty$1 as RestProperty, type ReturnStatement$1 as ReturnStatement, index_d$1_SCOPABLE_TYPES as SCOPABLE_TYPES, index_d$1_STANDARDIZED_TYPES as STANDARDIZED_TYPES, index_d$1_STATEMENT_OR_BLOCK_KEYS as STATEMENT_OR_BLOCK_KEYS, index_d$1_STATEMENT_TYPES as STATEMENT_TYPES, index_d$1_STRING_UNARY_OPERATORS as STRING_UNARY_OPERATORS, type index_d$1_Scopable as Scopable, type SequenceExpression$1 as SequenceExpression, type SourceLocation$1 as SourceLocation, type SpreadElement$1 as SpreadElement, type SpreadProperty$1 as SpreadProperty, type index_d$1_Standardized as Standardized, type Statement$1 as Statement, type StaticBlock$1 as StaticBlock, type StringLiteral$1 as StringLiteral, type StringLiteralTypeAnnotation$1 as StringLiteralTypeAnnotation, type StringTypeAnnotation$1 as StringTypeAnnotation, type Super$1 as Super, type SwitchCase$1 as SwitchCase, type SwitchStatement$1 as SwitchStatement, type SymbolTypeAnnotation$1 as SymbolTypeAnnotation, index_d$1_TERMINATORLESS_TYPES as TERMINATORLESS_TYPES, type TSAnyKeyword$1 as TSAnyKeyword, type TSArrayType$1 as TSArrayType, type TSAsExpression$1 as TSAsExpression, index_d$1_TSBASETYPE_TYPES as TSBASETYPE_TYPES, type index_d$1_TSBaseType as TSBaseType, type TSBigIntKeyword$1 as TSBigIntKeyword, type TSBooleanKeyword$1 as TSBooleanKeyword, type TSCallSignatureDeclaration$1 as TSCallSignatureDeclaration, type TSConditionalType$1 as TSConditionalType, type TSConstructSignatureDeclaration$1 as TSConstructSignatureDeclaration, type TSConstructorType$1 as TSConstructorType, type TSDeclareFunction$1 as TSDeclareFunction, type TSDeclareMethod$1 as TSDeclareMethod, index_d$1_TSENTITYNAME_TYPES as TSENTITYNAME_TYPES, type TSEntityName$1 as TSEntityName, type TSEnumBody$1 as TSEnumBody, type TSEnumDeclaration$1 as TSEnumDeclaration, type TSEnumMember$1 as TSEnumMember, type TSExportAssignment$1 as TSExportAssignment, type TSExpressionWithTypeArguments$1 as TSExpressionWithTypeArguments, type TSExternalModuleReference$1 as TSExternalModuleReference, type TSFunctionType$1 as TSFunctionType, type TSImportEqualsDeclaration$1 as TSImportEqualsDeclaration, type TSImportType$1 as TSImportType, type TSIndexSignature$1 as TSIndexSignature, type TSIndexedAccessType$1 as TSIndexedAccessType, type TSInferType$1 as TSInferType, type TSInstantiationExpression$1 as TSInstantiationExpression, type TSInterfaceBody$1 as TSInterfaceBody, type TSInterfaceDeclaration$1 as TSInterfaceDeclaration, type TSIntersectionType$1 as TSIntersectionType, type TSIntrinsicKeyword$1 as TSIntrinsicKeyword, type TSLiteralType$1 as TSLiteralType, type TSMappedType$1 as TSMappedType, type TSMethodSignature$1 as TSMethodSignature, type TSModuleBlock$1 as TSModuleBlock, type TSModuleDeclaration$1 as TSModuleDeclaration, type TSNamedTupleMember$1 as TSNamedTupleMember, type TSNamespaceExportDeclaration$1 as TSNamespaceExportDeclaration, type TSNeverKeyword$1 as TSNeverKeyword, type TSNonNullExpression$1 as TSNonNullExpression, type TSNullKeyword$1 as TSNullKeyword, type TSNumberKeyword$1 as TSNumberKeyword, type TSObjectKeyword$1 as TSObjectKeyword, type TSOptionalType$1 as TSOptionalType, type TSParameterProperty$1 as TSParameterProperty, type TSParenthesizedType$1 as TSParenthesizedType, type TSPropertySignature$1 as TSPropertySignature, type TSQualifiedName$1 as TSQualifiedName, type TSRestType$1 as TSRestType, type TSSatisfiesExpression$1 as TSSatisfiesExpression, type TSStringKeyword$1 as TSStringKeyword, type TSSymbolKeyword$1 as TSSymbolKeyword, index_d$1_TSTYPEELEMENT_TYPES as TSTYPEELEMENT_TYPES, index_d$1_TSTYPE_TYPES as TSTYPE_TYPES, type index_d$1_TSTemplateLiteralType as TSTemplateLiteralType, type TSThisType$1 as TSThisType, type TSTupleType$1 as TSTupleType, type TSType$1 as TSType, type TSTypeAliasDeclaration$1 as TSTypeAliasDeclaration, type TSTypeAnnotation$1 as TSTypeAnnotation, type TSTypeAssertion$1 as TSTypeAssertion, type TSTypeElement$1 as TSTypeElement, type TSTypeLiteral$1 as TSTypeLiteral, type TSTypeOperator$1 as TSTypeOperator, type TSTypeParameter$1 as TSTypeParameter, type TSTypeParameterDeclaration$1 as TSTypeParameterDeclaration, type TSTypeParameterInstantiation$1 as TSTypeParameterInstantiation, type TSTypePredicate$1 as TSTypePredicate, type TSTypeQuery$1 as TSTypeQuery, type TSTypeReference$1 as TSTypeReference, type TSUndefinedKeyword$1 as TSUndefinedKeyword, type TSUnionType$1 as TSUnionType, type TSUnknownKeyword$1 as TSUnknownKeyword, type TSVoidKeyword$1 as TSVoidKeyword, index_d$1_TYPES as TYPES, index_d$1_TYPESCRIPT_TYPES as TYPESCRIPT_TYPES, type TaggedTemplateExpression$1 as TaggedTemplateExpression, type TemplateElement$1 as TemplateElement, type TemplateLiteral$1 as TemplateLiteral, type index_d$1_Terminatorless as Terminatorless, type ThisExpression$1 as ThisExpression, type ThisTypeAnnotation$1 as ThisTypeAnnotation, type ThrowStatement$1 as ThrowStatement, type TopicReference$1 as TopicReference, type index_d$1_TraversalAncestors as TraversalAncestors, type index_d$1_TraversalHandler as TraversalHandler, type index_d$1_TraversalHandlers as TraversalHandlers, type TryStatement$1 as TryStatement, type TupleExpression$1 as TupleExpression, type TupleTypeAnnotation$1 as TupleTypeAnnotation, type TypeAlias$1 as TypeAlias, type TypeAnnotation$1 as TypeAnnotation, type TypeCastExpression$1 as TypeCastExpression, type TypeParameter$1 as TypeParameter, type TypeParameterDeclaration$1 as TypeParameterDeclaration, type TypeParameterInstantiation$1 as TypeParameterInstantiation, type index_d$1_TypeScript as TypeScript, type TypeofTypeAnnotation$1 as TypeofTypeAnnotation, index_d$1_UNARYLIKE_TYPES as UNARYLIKE_TYPES, index_d$1_UNARY_OPERATORS as UNARY_OPERATORS, index_d$1_UPDATE_OPERATORS as UPDATE_OPERATORS, index_d$1_USERWHITESPACABLE_TYPES as USERWHITESPACABLE_TYPES, type UnaryExpression$1 as UnaryExpression, type index_d$1_UnaryLike as UnaryLike, type UnionTypeAnnotation$1 as UnionTypeAnnotation, type UpdateExpression$1 as UpdateExpression, type index_d$1_UserWhitespacable as UserWhitespacable, type V8IntrinsicIdentifier$1 as V8IntrinsicIdentifier, index_d$1_VISITOR_KEYS as VISITOR_KEYS, type VariableDeclaration$1 as VariableDeclaration, type VariableDeclarator$1 as VariableDeclarator, type Variance$1 as Variance, type VoidTypeAnnotation$1 as VoidTypeAnnotation, index_d$1_WHILE_TYPES as WHILE_TYPES, type index_d$1_While as While, type WhileStatement$1 as WhileStatement, type WithStatement$1 as WithStatement, type YieldExpression$1 as YieldExpression, deprecationWarning as __internal__deprecationWarning, index_d$1_addComment as addComment, index_d$1_addComments as addComments, index_d$1_anyTypeAnnotation as anyTypeAnnotation, index_d$1_appendToMemberExpression as appendToMemberExpression, index_d$1_argumentPlaceholder as argumentPlaceholder, index_d$1_arrayExpression as arrayExpression, index_d$1_arrayPattern as arrayPattern, index_d$1_arrayTypeAnnotation as arrayTypeAnnotation, index_d$1_arrowFunctionExpression as arrowFunctionExpression, index_d$1_assertAccessor as assertAccessor, index_d$1_assertAnyTypeAnnotation as assertAnyTypeAnnotation, index_d$1_assertArgumentPlaceholder as assertArgumentPlaceholder, index_d$1_assertArrayExpression as assertArrayExpression, index_d$1_assertArrayPattern as assertArrayPattern, index_d$1_assertArrayTypeAnnotation as assertArrayTypeAnnotation, index_d$1_assertArrowFunctionExpression as assertArrowFunctionExpression, index_d$1_assertAssignmentExpression as assertAssignmentExpression, index_d$1_assertAssignmentPattern as assertAssignmentPattern, index_d$1_assertAwaitExpression as assertAwaitExpression, index_d$1_assertBigIntLiteral as assertBigIntLiteral, index_d$1_assertBinary as assertBinary, index_d$1_assertBinaryExpression as assertBinaryExpression, index_d$1_assertBindExpression as assertBindExpression, index_d$1_assertBlock as assertBlock, index_d$1_assertBlockParent as assertBlockParent, index_d$1_assertBlockStatement as assertBlockStatement, index_d$1_assertBooleanLiteral as assertBooleanLiteral, index_d$1_assertBooleanLiteralTypeAnnotation as assertBooleanLiteralTypeAnnotation, index_d$1_assertBooleanTypeAnnotation as assertBooleanTypeAnnotation, index_d$1_assertBreakStatement as assertBreakStatement, index_d$1_assertCallExpression as assertCallExpression, index_d$1_assertCatchClause as assertCatchClause, index_d$1_assertClass as assertClass, index_d$1_assertClassAccessorProperty as assertClassAccessorProperty, index_d$1_assertClassBody as assertClassBody, index_d$1_assertClassDeclaration as assertClassDeclaration, index_d$1_assertClassExpression as assertClassExpression, index_d$1_assertClassImplements as assertClassImplements, index_d$1_assertClassMethod as assertClassMethod, index_d$1_assertClassPrivateMethod as assertClassPrivateMethod, index_d$1_assertClassPrivateProperty as assertClassPrivateProperty, index_d$1_assertClassProperty as assertClassProperty, index_d$1_assertCompletionStatement as assertCompletionStatement, index_d$1_assertConditional as assertConditional, index_d$1_assertConditionalExpression as assertConditionalExpression, index_d$1_assertContinueStatement as assertContinueStatement, index_d$1_assertDebuggerStatement as assertDebuggerStatement, index_d$1_assertDecimalLiteral as assertDecimalLiteral, index_d$1_assertDeclaration as assertDeclaration, index_d$1_assertDeclareClass as assertDeclareClass, index_d$1_assertDeclareExportAllDeclaration as assertDeclareExportAllDeclaration, index_d$1_assertDeclareExportDeclaration as assertDeclareExportDeclaration, index_d$1_assertDeclareFunction as assertDeclareFunction, index_d$1_assertDeclareInterface as assertDeclareInterface, index_d$1_assertDeclareModule as assertDeclareModule, index_d$1_assertDeclareModuleExports as assertDeclareModuleExports, index_d$1_assertDeclareOpaqueType as assertDeclareOpaqueType, index_d$1_assertDeclareTypeAlias as assertDeclareTypeAlias, index_d$1_assertDeclareVariable as assertDeclareVariable, index_d$1_assertDeclaredPredicate as assertDeclaredPredicate, index_d$1_assertDecorator as assertDecorator, index_d$1_assertDirective as assertDirective, index_d$1_assertDirectiveLiteral as assertDirectiveLiteral, index_d$1_assertDoExpression as assertDoExpression, index_d$1_assertDoWhileStatement as assertDoWhileStatement, index_d$1_assertEmptyStatement as assertEmptyStatement, index_d$1_assertEmptyTypeAnnotation as assertEmptyTypeAnnotation, index_d$1_assertEnumBody as assertEnumBody, index_d$1_assertEnumBooleanBody as assertEnumBooleanBody, index_d$1_assertEnumBooleanMember as assertEnumBooleanMember, index_d$1_assertEnumDeclaration as assertEnumDeclaration, index_d$1_assertEnumDefaultedMember as assertEnumDefaultedMember, index_d$1_assertEnumMember as assertEnumMember, index_d$1_assertEnumNumberBody as assertEnumNumberBody, index_d$1_assertEnumNumberMember as assertEnumNumberMember, index_d$1_assertEnumStringBody as assertEnumStringBody, index_d$1_assertEnumStringMember as assertEnumStringMember, index_d$1_assertEnumSymbolBody as assertEnumSymbolBody, index_d$1_assertExistsTypeAnnotation as assertExistsTypeAnnotation, index_d$1_assertExportAllDeclaration as assertExportAllDeclaration, index_d$1_assertExportDeclaration as assertExportDeclaration, index_d$1_assertExportDefaultDeclaration as assertExportDefaultDeclaration, index_d$1_assertExportDefaultSpecifier as assertExportDefaultSpecifier, index_d$1_assertExportNamedDeclaration as assertExportNamedDeclaration, index_d$1_assertExportNamespaceSpecifier as assertExportNamespaceSpecifier, index_d$1_assertExportSpecifier as assertExportSpecifier, index_d$1_assertExpression as assertExpression, index_d$1_assertExpressionStatement as assertExpressionStatement, index_d$1_assertExpressionWrapper as assertExpressionWrapper, index_d$1_assertFile as assertFile, index_d$1_assertFlow as assertFlow, index_d$1_assertFlowBaseAnnotation as assertFlowBaseAnnotation, index_d$1_assertFlowDeclaration as assertFlowDeclaration, index_d$1_assertFlowPredicate as assertFlowPredicate, index_d$1_assertFlowType as assertFlowType, index_d$1_assertFor as assertFor, index_d$1_assertForInStatement as assertForInStatement, index_d$1_assertForOfStatement as assertForOfStatement, index_d$1_assertForStatement as assertForStatement, index_d$1_assertForXStatement as assertForXStatement, index_d$1_assertFunction as assertFunction, index_d$1_assertFunctionDeclaration as assertFunctionDeclaration, index_d$1_assertFunctionExpression as assertFunctionExpression, index_d$1_assertFunctionParent as assertFunctionParent, index_d$1_assertFunctionTypeAnnotation as assertFunctionTypeAnnotation, index_d$1_assertFunctionTypeParam as assertFunctionTypeParam, index_d$1_assertGenericTypeAnnotation as assertGenericTypeAnnotation, index_d$1_assertIdentifier as assertIdentifier, index_d$1_assertIfStatement as assertIfStatement, index_d$1_assertImmutable as assertImmutable, index_d$1_assertImport as assertImport, index_d$1_assertImportAttribute as assertImportAttribute, index_d$1_assertImportDeclaration as assertImportDeclaration, index_d$1_assertImportDefaultSpecifier as assertImportDefaultSpecifier, index_d$1_assertImportExpression as assertImportExpression, index_d$1_assertImportNamespaceSpecifier as assertImportNamespaceSpecifier, index_d$1_assertImportOrExportDeclaration as assertImportOrExportDeclaration, index_d$1_assertImportSpecifier as assertImportSpecifier, index_d$1_assertIndexedAccessType as assertIndexedAccessType, index_d$1_assertInferredPredicate as assertInferredPredicate, index_d$1_assertInterfaceDeclaration as assertInterfaceDeclaration, index_d$1_assertInterfaceExtends as assertInterfaceExtends, index_d$1_assertInterfaceTypeAnnotation as assertInterfaceTypeAnnotation, index_d$1_assertInterpreterDirective as assertInterpreterDirective, index_d$1_assertIntersectionTypeAnnotation as assertIntersectionTypeAnnotation, index_d$1_assertJSX as assertJSX, index_d$1_assertJSXAttribute as assertJSXAttribute, index_d$1_assertJSXClosingElement as assertJSXClosingElement, index_d$1_assertJSXClosingFragment as assertJSXClosingFragment, index_d$1_assertJSXElement as assertJSXElement, index_d$1_assertJSXEmptyExpression as assertJSXEmptyExpression, index_d$1_assertJSXExpressionContainer as assertJSXExpressionContainer, index_d$1_assertJSXFragment as assertJSXFragment, index_d$1_assertJSXIdentifier as assertJSXIdentifier, index_d$1_assertJSXMemberExpression as assertJSXMemberExpression, index_d$1_assertJSXNamespacedName as assertJSXNamespacedName, index_d$1_assertJSXOpeningElement as assertJSXOpeningElement, index_d$1_assertJSXOpeningFragment as assertJSXOpeningFragment, index_d$1_assertJSXSpreadAttribute as assertJSXSpreadAttribute, index_d$1_assertJSXSpreadChild as assertJSXSpreadChild, index_d$1_assertJSXText as assertJSXText, index_d$1_assertLVal as assertLVal, index_d$1_assertLabeledStatement as assertLabeledStatement, index_d$1_assertLiteral as assertLiteral, index_d$1_assertLogicalExpression as assertLogicalExpression, index_d$1_assertLoop as assertLoop, index_d$1_assertMemberExpression as assertMemberExpression, index_d$1_assertMetaProperty as assertMetaProperty, index_d$1_assertMethod as assertMethod, index_d$1_assertMiscellaneous as assertMiscellaneous, index_d$1_assertMixedTypeAnnotation as assertMixedTypeAnnotation, index_d$1_assertModuleDeclaration as assertModuleDeclaration, index_d$1_assertModuleExpression as assertModuleExpression, index_d$1_assertModuleSpecifier as assertModuleSpecifier, index_d$1_assertNewExpression as assertNewExpression, index_d$1_assertNode as assertNode, index_d$1_assertNoop as assertNoop, index_d$1_assertNullLiteral as assertNullLiteral, index_d$1_assertNullLiteralTypeAnnotation as assertNullLiteralTypeAnnotation, index_d$1_assertNullableTypeAnnotation as assertNullableTypeAnnotation, index_d$1_assertNumberLiteral as assertNumberLiteral, index_d$1_assertNumberLiteralTypeAnnotation as assertNumberLiteralTypeAnnotation, index_d$1_assertNumberTypeAnnotation as assertNumberTypeAnnotation, index_d$1_assertNumericLiteral as assertNumericLiteral, index_d$1_assertObjectExpression as assertObjectExpression, index_d$1_assertObjectMember as assertObjectMember, index_d$1_assertObjectMethod as assertObjectMethod, index_d$1_assertObjectPattern as assertObjectPattern, index_d$1_assertObjectProperty as assertObjectProperty, index_d$1_assertObjectTypeAnnotation as assertObjectTypeAnnotation, index_d$1_assertObjectTypeCallProperty as assertObjectTypeCallProperty, index_d$1_assertObjectTypeIndexer as assertObjectTypeIndexer, index_d$1_assertObjectTypeInternalSlot as assertObjectTypeInternalSlot, index_d$1_assertObjectTypeProperty as assertObjectTypeProperty, index_d$1_assertObjectTypeSpreadProperty as assertObjectTypeSpreadProperty, index_d$1_assertOpaqueType as assertOpaqueType, index_d$1_assertOptionalCallExpression as assertOptionalCallExpression, index_d$1_assertOptionalIndexedAccessType as assertOptionalIndexedAccessType, index_d$1_assertOptionalMemberExpression as assertOptionalMemberExpression, index_d$1_assertParenthesizedExpression as assertParenthesizedExpression, index_d$1_assertPattern as assertPattern, index_d$1_assertPatternLike as assertPatternLike, index_d$1_assertPipelineBareFunction as assertPipelineBareFunction, index_d$1_assertPipelinePrimaryTopicReference as assertPipelinePrimaryTopicReference, index_d$1_assertPipelineTopicExpression as assertPipelineTopicExpression, index_d$1_assertPlaceholder as assertPlaceholder, index_d$1_assertPrivate as assertPrivate, index_d$1_assertPrivateName as assertPrivateName, index_d$1_assertProgram as assertProgram, index_d$1_assertProperty as assertProperty, index_d$1_assertPureish as assertPureish, index_d$1_assertQualifiedTypeIdentifier as assertQualifiedTypeIdentifier, index_d$1_assertRecordExpression as assertRecordExpression, index_d$1_assertRegExpLiteral as assertRegExpLiteral, index_d$1_assertRegexLiteral as assertRegexLiteral, index_d$1_assertRestElement as assertRestElement, index_d$1_assertRestProperty as assertRestProperty, index_d$1_assertReturnStatement as assertReturnStatement, index_d$1_assertScopable as assertScopable, index_d$1_assertSequenceExpression as assertSequenceExpression, index_d$1_assertSpreadElement as assertSpreadElement, index_d$1_assertSpreadProperty as assertSpreadProperty, index_d$1_assertStandardized as assertStandardized, index_d$1_assertStatement as assertStatement, index_d$1_assertStaticBlock as assertStaticBlock, index_d$1_assertStringLiteral as assertStringLiteral, index_d$1_assertStringLiteralTypeAnnotation as assertStringLiteralTypeAnnotation, index_d$1_assertStringTypeAnnotation as assertStringTypeAnnotation, index_d$1_assertSuper as assertSuper, index_d$1_assertSwitchCase as assertSwitchCase, index_d$1_assertSwitchStatement as assertSwitchStatement, index_d$1_assertSymbolTypeAnnotation as assertSymbolTypeAnnotation, index_d$1_assertTSAnyKeyword as assertTSAnyKeyword, index_d$1_assertTSArrayType as assertTSArrayType, index_d$1_assertTSAsExpression as assertTSAsExpression, index_d$1_assertTSBaseType as assertTSBaseType, index_d$1_assertTSBigIntKeyword as assertTSBigIntKeyword, index_d$1_assertTSBooleanKeyword as assertTSBooleanKeyword, index_d$1_assertTSCallSignatureDeclaration as assertTSCallSignatureDeclaration, index_d$1_assertTSConditionalType as assertTSConditionalType, index_d$1_assertTSConstructSignatureDeclaration as assertTSConstructSignatureDeclaration, index_d$1_assertTSConstructorType as assertTSConstructorType, index_d$1_assertTSDeclareFunction as assertTSDeclareFunction, index_d$1_assertTSDeclareMethod as assertTSDeclareMethod, index_d$1_assertTSEntityName as assertTSEntityName, index_d$1_assertTSEnumBody as assertTSEnumBody, index_d$1_assertTSEnumDeclaration as assertTSEnumDeclaration, index_d$1_assertTSEnumMember as assertTSEnumMember, index_d$1_assertTSExportAssignment as assertTSExportAssignment, index_d$1_assertTSExpressionWithTypeArguments as assertTSExpressionWithTypeArguments, index_d$1_assertTSExternalModuleReference as assertTSExternalModuleReference, index_d$1_assertTSFunctionType as assertTSFunctionType, index_d$1_assertTSImportEqualsDeclaration as assertTSImportEqualsDeclaration, index_d$1_assertTSImportType as assertTSImportType, index_d$1_assertTSIndexSignature as assertTSIndexSignature, index_d$1_assertTSIndexedAccessType as assertTSIndexedAccessType, index_d$1_assertTSInferType as assertTSInferType, index_d$1_assertTSInstantiationExpression as assertTSInstantiationExpression, index_d$1_assertTSInterfaceBody as assertTSInterfaceBody, index_d$1_assertTSInterfaceDeclaration as assertTSInterfaceDeclaration, index_d$1_assertTSIntersectionType as assertTSIntersectionType, index_d$1_assertTSIntrinsicKeyword as assertTSIntrinsicKeyword, index_d$1_assertTSLiteralType as assertTSLiteralType, index_d$1_assertTSMappedType as assertTSMappedType, index_d$1_assertTSMethodSignature as assertTSMethodSignature, index_d$1_assertTSModuleBlock as assertTSModuleBlock, index_d$1_assertTSModuleDeclaration as assertTSModuleDeclaration, index_d$1_assertTSNamedTupleMember as assertTSNamedTupleMember, index_d$1_assertTSNamespaceExportDeclaration as assertTSNamespaceExportDeclaration, index_d$1_assertTSNeverKeyword as assertTSNeverKeyword, index_d$1_assertTSNonNullExpression as assertTSNonNullExpression, index_d$1_assertTSNullKeyword as assertTSNullKeyword, index_d$1_assertTSNumberKeyword as assertTSNumberKeyword, index_d$1_assertTSObjectKeyword as assertTSObjectKeyword, index_d$1_assertTSOptionalType as assertTSOptionalType, index_d$1_assertTSParameterProperty as assertTSParameterProperty, index_d$1_assertTSParenthesizedType as assertTSParenthesizedType, index_d$1_assertTSPropertySignature as assertTSPropertySignature, index_d$1_assertTSQualifiedName as assertTSQualifiedName, index_d$1_assertTSRestType as assertTSRestType, index_d$1_assertTSSatisfiesExpression as assertTSSatisfiesExpression, index_d$1_assertTSStringKeyword as assertTSStringKeyword, index_d$1_assertTSSymbolKeyword as assertTSSymbolKeyword, index_d$1_assertTSTemplateLiteralType as assertTSTemplateLiteralType, index_d$1_assertTSThisType as assertTSThisType, index_d$1_assertTSTupleType as assertTSTupleType, index_d$1_assertTSType as assertTSType, index_d$1_assertTSTypeAliasDeclaration as assertTSTypeAliasDeclaration, index_d$1_assertTSTypeAnnotation as assertTSTypeAnnotation, index_d$1_assertTSTypeAssertion as assertTSTypeAssertion, index_d$1_assertTSTypeElement as assertTSTypeElement, index_d$1_assertTSTypeLiteral as assertTSTypeLiteral, index_d$1_assertTSTypeOperator as assertTSTypeOperator, index_d$1_assertTSTypeParameter as assertTSTypeParameter, index_d$1_assertTSTypeParameterDeclaration as assertTSTypeParameterDeclaration, index_d$1_assertTSTypeParameterInstantiation as assertTSTypeParameterInstantiation, index_d$1_assertTSTypePredicate as assertTSTypePredicate, index_d$1_assertTSTypeQuery as assertTSTypeQuery, index_d$1_assertTSTypeReference as assertTSTypeReference, index_d$1_assertTSUndefinedKeyword as assertTSUndefinedKeyword, index_d$1_assertTSUnionType as assertTSUnionType, index_d$1_assertTSUnknownKeyword as assertTSUnknownKeyword, index_d$1_assertTSVoidKeyword as assertTSVoidKeyword, index_d$1_assertTaggedTemplateExpression as assertTaggedTemplateExpression, index_d$1_assertTemplateElement as assertTemplateElement, index_d$1_assertTemplateLiteral as assertTemplateLiteral, index_d$1_assertTerminatorless as assertTerminatorless, index_d$1_assertThisExpression as assertThisExpression, index_d$1_assertThisTypeAnnotation as assertThisTypeAnnotation, index_d$1_assertThrowStatement as assertThrowStatement, index_d$1_assertTopicReference as assertTopicReference, index_d$1_assertTryStatement as assertTryStatement, index_d$1_assertTupleExpression as assertTupleExpression, index_d$1_assertTupleTypeAnnotation as assertTupleTypeAnnotation, index_d$1_assertTypeAlias as assertTypeAlias, index_d$1_assertTypeAnnotation as assertTypeAnnotation, index_d$1_assertTypeCastExpression as assertTypeCastExpression, index_d$1_assertTypeParameter as assertTypeParameter, index_d$1_assertTypeParameterDeclaration as assertTypeParameterDeclaration, index_d$1_assertTypeParameterInstantiation as assertTypeParameterInstantiation, index_d$1_assertTypeScript as assertTypeScript, index_d$1_assertTypeofTypeAnnotation as assertTypeofTypeAnnotation, index_d$1_assertUnaryExpression as assertUnaryExpression, index_d$1_assertUnaryLike as assertUnaryLike, index_d$1_assertUnionTypeAnnotation as assertUnionTypeAnnotation, index_d$1_assertUpdateExpression as assertUpdateExpression, index_d$1_assertUserWhitespacable as assertUserWhitespacable, index_d$1_assertV8IntrinsicIdentifier as assertV8IntrinsicIdentifier, index_d$1_assertVariableDeclaration as assertVariableDeclaration, index_d$1_assertVariableDeclarator as assertVariableDeclarator, index_d$1_assertVariance as assertVariance, index_d$1_assertVoidTypeAnnotation as assertVoidTypeAnnotation, index_d$1_assertWhile as assertWhile, index_d$1_assertWhileStatement as assertWhileStatement, index_d$1_assertWithStatement as assertWithStatement, index_d$1_assertYieldExpression as assertYieldExpression, index_d$1_assignmentExpression as assignmentExpression, index_d$1_assignmentPattern as assignmentPattern, index_d$1_awaitExpression as awaitExpression, index_d$1_bigIntLiteral as bigIntLiteral, index_d$1_binaryExpression as binaryExpression, index_d$1_bindExpression as bindExpression, index_d$1_blockStatement as blockStatement, index_d$1_booleanLiteral as booleanLiteral, index_d$1_booleanLiteralTypeAnnotation as booleanLiteralTypeAnnotation, index_d$1_booleanTypeAnnotation as booleanTypeAnnotation, index_d$1_breakStatement as breakStatement, index_d$1_buildMatchMemberExpression as buildMatchMemberExpression, index_d$1_buildUndefinedNode as buildUndefinedNode, index_d$1_callExpression as callExpression, index_d$1_catchClause as catchClause, index_d$1_classAccessorProperty as classAccessorProperty, index_d$1_classBody as classBody, index_d$1_classDeclaration as classDeclaration, index_d$1_classExpression as classExpression, index_d$1_classImplements as classImplements, index_d$1_classMethod as classMethod, index_d$1_classPrivateMethod as classPrivateMethod, index_d$1_classPrivateProperty as classPrivateProperty, index_d$1_classProperty as classProperty, index_d$1_clone as clone, index_d$1_cloneDeep as cloneDeep, index_d$1_cloneDeepWithoutLoc as cloneDeepWithoutLoc, index_d$1_cloneNode as cloneNode, index_d$1_cloneWithoutLoc as cloneWithoutLoc, index_d$1_conditionalExpression as conditionalExpression, index_d$1_continueStatement as continueStatement, index_d$1_createFlowUnionType as createFlowUnionType, index_d$1_createTSUnionType as createTSUnionType, _default$4 as createTypeAnnotationBasedOnTypeof, createFlowUnionType as createUnionTypeAnnotation, index_d$1_debuggerStatement as debuggerStatement, index_d$1_decimalLiteral as decimalLiteral, index_d$1_declareClass as declareClass, index_d$1_declareExportAllDeclaration as declareExportAllDeclaration, index_d$1_declareExportDeclaration as declareExportDeclaration, index_d$1_declareFunction as declareFunction, index_d$1_declareInterface as declareInterface, index_d$1_declareModule as declareModule, index_d$1_declareModuleExports as declareModuleExports, index_d$1_declareOpaqueType as declareOpaqueType, index_d$1_declareTypeAlias as declareTypeAlias, index_d$1_declareVariable as declareVariable, index_d$1_declaredPredicate as declaredPredicate, index_d$1_decorator as decorator, index_d$1_directive as directive, index_d$1_directiveLiteral as directiveLiteral, index_d$1_doExpression as doExpression, index_d$1_doWhileStatement as doWhileStatement, index_d$1_emptyStatement as emptyStatement, index_d$1_emptyTypeAnnotation as emptyTypeAnnotation, index_d$1_ensureBlock as ensureBlock, index_d$1_enumBooleanBody as enumBooleanBody, index_d$1_enumBooleanMember as enumBooleanMember, index_d$1_enumDeclaration as enumDeclaration, index_d$1_enumDefaultedMember as enumDefaultedMember, index_d$1_enumNumberBody as enumNumberBody, index_d$1_enumNumberMember as enumNumberMember, index_d$1_enumStringBody as enumStringBody, index_d$1_enumStringMember as enumStringMember, index_d$1_enumSymbolBody as enumSymbolBody, index_d$1_existsTypeAnnotation as existsTypeAnnotation, index_d$1_exportAllDeclaration as exportAllDeclaration, index_d$1_exportDefaultDeclaration as exportDefaultDeclaration, index_d$1_exportDefaultSpecifier as exportDefaultSpecifier, index_d$1_exportNamedDeclaration as exportNamedDeclaration, index_d$1_exportNamespaceSpecifier as exportNamespaceSpecifier, index_d$1_exportSpecifier as exportSpecifier, index_d$1_expressionStatement as expressionStatement, index_d$1_file as file, index_d$1_forInStatement as forInStatement, index_d$1_forOfStatement as forOfStatement, index_d$1_forStatement as forStatement, index_d$1_functionDeclaration as functionDeclaration, index_d$1_functionExpression as functionExpression, index_d$1_functionTypeAnnotation as functionTypeAnnotation, index_d$1_functionTypeParam as functionTypeParam, index_d$1_genericTypeAnnotation as genericTypeAnnotation, index_d$1_getAssignmentIdentifiers as getAssignmentIdentifiers, index_d$1_getBindingIdentifiers as getBindingIdentifiers, index_d$1_getFunctionName as getFunctionName, _default as getOuterBindingIdentifiers, index_d$1_identifier as identifier, index_d$1_ifStatement as ifStatement, _import as import, index_d$1_importAttribute as importAttribute, index_d$1_importDeclaration as importDeclaration, index_d$1_importDefaultSpecifier as importDefaultSpecifier, index_d$1_importExpression as importExpression, index_d$1_importNamespaceSpecifier as importNamespaceSpecifier, index_d$1_importSpecifier as importSpecifier, index_d$1_indexedAccessType as indexedAccessType, index_d$1_inferredPredicate as inferredPredicate, index_d$1_inheritInnerComments as inheritInnerComments, index_d$1_inheritLeadingComments as inheritLeadingComments, index_d$1_inheritTrailingComments as inheritTrailingComments, index_d$1_inherits as inherits, index_d$1_inheritsComments as inheritsComments, index_d$1_interfaceDeclaration as interfaceDeclaration, index_d$1_interfaceExtends as interfaceExtends, index_d$1_interfaceTypeAnnotation as interfaceTypeAnnotation, index_d$1_interpreterDirective as interpreterDirective, index_d$1_intersectionTypeAnnotation as intersectionTypeAnnotation, index_d$1_is as is, index_d$1_isAccessor as isAccessor, index_d$1_isAnyTypeAnnotation as isAnyTypeAnnotation, index_d$1_isArgumentPlaceholder as isArgumentPlaceholder, index_d$1_isArrayExpression as isArrayExpression, index_d$1_isArrayPattern as isArrayPattern, index_d$1_isArrayTypeAnnotation as isArrayTypeAnnotation, index_d$1_isArrowFunctionExpression as isArrowFunctionExpression, index_d$1_isAssignmentExpression as isAssignmentExpression, index_d$1_isAssignmentPattern as isAssignmentPattern, index_d$1_isAwaitExpression as isAwaitExpression, index_d$1_isBigIntLiteral as isBigIntLiteral, index_d$1_isBinary as isBinary, index_d$1_isBinaryExpression as isBinaryExpression, index_d$1_isBindExpression as isBindExpression, index_d$1_isBinding as isBinding, index_d$1_isBlock as isBlock, index_d$1_isBlockParent as isBlockParent, index_d$1_isBlockScoped as isBlockScoped, index_d$1_isBlockStatement as isBlockStatement, index_d$1_isBooleanLiteral as isBooleanLiteral, index_d$1_isBooleanLiteralTypeAnnotation as isBooleanLiteralTypeAnnotation, index_d$1_isBooleanTypeAnnotation as isBooleanTypeAnnotation, index_d$1_isBreakStatement as isBreakStatement, index_d$1_isCallExpression as isCallExpression, index_d$1_isCatchClause as isCatchClause, index_d$1_isClass as isClass, index_d$1_isClassAccessorProperty as isClassAccessorProperty, index_d$1_isClassBody as isClassBody, index_d$1_isClassDeclaration as isClassDeclaration, index_d$1_isClassExpression as isClassExpression, index_d$1_isClassImplements as isClassImplements, index_d$1_isClassMethod as isClassMethod, index_d$1_isClassPrivateMethod as isClassPrivateMethod, index_d$1_isClassPrivateProperty as isClassPrivateProperty, index_d$1_isClassProperty as isClassProperty, index_d$1_isCompletionStatement as isCompletionStatement, index_d$1_isConditional as isConditional, index_d$1_isConditionalExpression as isConditionalExpression, index_d$1_isContinueStatement as isContinueStatement, index_d$1_isDebuggerStatement as isDebuggerStatement, index_d$1_isDecimalLiteral as isDecimalLiteral, index_d$1_isDeclaration as isDeclaration, index_d$1_isDeclareClass as isDeclareClass, index_d$1_isDeclareExportAllDeclaration as isDeclareExportAllDeclaration, index_d$1_isDeclareExportDeclaration as isDeclareExportDeclaration, index_d$1_isDeclareFunction as isDeclareFunction, index_d$1_isDeclareInterface as isDeclareInterface, index_d$1_isDeclareModule as isDeclareModule, index_d$1_isDeclareModuleExports as isDeclareModuleExports, index_d$1_isDeclareOpaqueType as isDeclareOpaqueType, index_d$1_isDeclareTypeAlias as isDeclareTypeAlias, index_d$1_isDeclareVariable as isDeclareVariable, index_d$1_isDeclaredPredicate as isDeclaredPredicate, index_d$1_isDecorator as isDecorator, index_d$1_isDirective as isDirective, index_d$1_isDirectiveLiteral as isDirectiveLiteral, index_d$1_isDoExpression as isDoExpression, index_d$1_isDoWhileStatement as isDoWhileStatement, index_d$1_isEmptyStatement as isEmptyStatement, index_d$1_isEmptyTypeAnnotation as isEmptyTypeAnnotation, index_d$1_isEnumBody as isEnumBody, index_d$1_isEnumBooleanBody as isEnumBooleanBody, index_d$1_isEnumBooleanMember as isEnumBooleanMember, index_d$1_isEnumDeclaration as isEnumDeclaration, index_d$1_isEnumDefaultedMember as isEnumDefaultedMember, index_d$1_isEnumMember as isEnumMember, index_d$1_isEnumNumberBody as isEnumNumberBody, index_d$1_isEnumNumberMember as isEnumNumberMember, index_d$1_isEnumStringBody as isEnumStringBody, index_d$1_isEnumStringMember as isEnumStringMember, index_d$1_isEnumSymbolBody as isEnumSymbolBody, index_d$1_isExistsTypeAnnotation as isExistsTypeAnnotation, index_d$1_isExportAllDeclaration as isExportAllDeclaration, index_d$1_isExportDeclaration as isExportDeclaration, index_d$1_isExportDefaultDeclaration as isExportDefaultDeclaration, index_d$1_isExportDefaultSpecifier as isExportDefaultSpecifier, index_d$1_isExportNamedDeclaration as isExportNamedDeclaration, index_d$1_isExportNamespaceSpecifier as isExportNamespaceSpecifier, index_d$1_isExportSpecifier as isExportSpecifier, index_d$1_isExpression as isExpression, index_d$1_isExpressionStatement as isExpressionStatement, index_d$1_isExpressionWrapper as isExpressionWrapper, index_d$1_isFile as isFile, index_d$1_isFlow as isFlow, index_d$1_isFlowBaseAnnotation as isFlowBaseAnnotation, index_d$1_isFlowDeclaration as isFlowDeclaration, index_d$1_isFlowPredicate as isFlowPredicate, index_d$1_isFlowType as isFlowType, index_d$1_isFor as isFor, index_d$1_isForInStatement as isForInStatement, index_d$1_isForOfStatement as isForOfStatement, index_d$1_isForStatement as isForStatement, index_d$1_isForXStatement as isForXStatement, index_d$1_isFunction as isFunction, index_d$1_isFunctionDeclaration as isFunctionDeclaration, index_d$1_isFunctionExpression as isFunctionExpression, index_d$1_isFunctionParent as isFunctionParent, index_d$1_isFunctionTypeAnnotation as isFunctionTypeAnnotation, index_d$1_isFunctionTypeParam as isFunctionTypeParam, index_d$1_isGenericTypeAnnotation as isGenericTypeAnnotation, index_d$1_isIdentifier as isIdentifier, index_d$1_isIfStatement as isIfStatement, index_d$1_isImmutable as isImmutable, index_d$1_isImport as isImport, index_d$1_isImportAttribute as isImportAttribute, index_d$1_isImportDeclaration as isImportDeclaration, index_d$1_isImportDefaultSpecifier as isImportDefaultSpecifier, index_d$1_isImportExpression as isImportExpression, index_d$1_isImportNamespaceSpecifier as isImportNamespaceSpecifier, index_d$1_isImportOrExportDeclaration as isImportOrExportDeclaration, index_d$1_isImportSpecifier as isImportSpecifier, index_d$1_isIndexedAccessType as isIndexedAccessType, index_d$1_isInferredPredicate as isInferredPredicate, index_d$1_isInterfaceDeclaration as isInterfaceDeclaration, index_d$1_isInterfaceExtends as isInterfaceExtends, index_d$1_isInterfaceTypeAnnotation as isInterfaceTypeAnnotation, index_d$1_isInterpreterDirective as isInterpreterDirective, index_d$1_isIntersectionTypeAnnotation as isIntersectionTypeAnnotation, index_d$1_isJSX as isJSX, index_d$1_isJSXAttribute as isJSXAttribute, index_d$1_isJSXClosingElement as isJSXClosingElement, index_d$1_isJSXClosingFragment as isJSXClosingFragment, index_d$1_isJSXElement as isJSXElement, index_d$1_isJSXEmptyExpression as isJSXEmptyExpression, index_d$1_isJSXExpressionContainer as isJSXExpressionContainer, index_d$1_isJSXFragment as isJSXFragment, index_d$1_isJSXIdentifier as isJSXIdentifier, index_d$1_isJSXMemberExpression as isJSXMemberExpression, index_d$1_isJSXNamespacedName as isJSXNamespacedName, index_d$1_isJSXOpeningElement as isJSXOpeningElement, index_d$1_isJSXOpeningFragment as isJSXOpeningFragment, index_d$1_isJSXSpreadAttribute as isJSXSpreadAttribute, index_d$1_isJSXSpreadChild as isJSXSpreadChild, index_d$1_isJSXText as isJSXText, index_d$1_isLVal as isLVal, index_d$1_isLabeledStatement as isLabeledStatement, index_d$1_isLet as isLet, index_d$1_isLiteral as isLiteral, index_d$1_isLogicalExpression as isLogicalExpression, index_d$1_isLoop as isLoop, index_d$1_isMemberExpression as isMemberExpression, index_d$1_isMetaProperty as isMetaProperty, index_d$1_isMethod as isMethod, index_d$1_isMiscellaneous as isMiscellaneous, index_d$1_isMixedTypeAnnotation as isMixedTypeAnnotation, index_d$1_isModuleDeclaration as isModuleDeclaration, index_d$1_isModuleExpression as isModuleExpression, index_d$1_isModuleSpecifier as isModuleSpecifier, index_d$1_isNewExpression as isNewExpression, index_d$1_isNode as isNode, index_d$1_isNodesEquivalent as isNodesEquivalent, index_d$1_isNoop as isNoop, index_d$1_isNullLiteral as isNullLiteral, index_d$1_isNullLiteralTypeAnnotation as isNullLiteralTypeAnnotation, index_d$1_isNullableTypeAnnotation as isNullableTypeAnnotation, index_d$1_isNumberLiteral as isNumberLiteral, index_d$1_isNumberLiteralTypeAnnotation as isNumberLiteralTypeAnnotation, index_d$1_isNumberTypeAnnotation as isNumberTypeAnnotation, index_d$1_isNumericLiteral as isNumericLiteral, index_d$1_isObjectExpression as isObjectExpression, index_d$1_isObjectMember as isObjectMember, index_d$1_isObjectMethod as isObjectMethod, index_d$1_isObjectPattern as isObjectPattern, index_d$1_isObjectProperty as isObjectProperty, index_d$1_isObjectTypeAnnotation as isObjectTypeAnnotation, index_d$1_isObjectTypeCallProperty as isObjectTypeCallProperty, index_d$1_isObjectTypeIndexer as isObjectTypeIndexer, index_d$1_isObjectTypeInternalSlot as isObjectTypeInternalSlot, index_d$1_isObjectTypeProperty as isObjectTypeProperty, index_d$1_isObjectTypeSpreadProperty as isObjectTypeSpreadProperty, index_d$1_isOpaqueType as isOpaqueType, index_d$1_isOptionalCallExpression as isOptionalCallExpression, index_d$1_isOptionalIndexedAccessType as isOptionalIndexedAccessType, index_d$1_isOptionalMemberExpression as isOptionalMemberExpression, index_d$1_isParenthesizedExpression as isParenthesizedExpression, index_d$1_isPattern as isPattern, index_d$1_isPatternLike as isPatternLike, index_d$1_isPipelineBareFunction as isPipelineBareFunction, index_d$1_isPipelinePrimaryTopicReference as isPipelinePrimaryTopicReference, index_d$1_isPipelineTopicExpression as isPipelineTopicExpression, index_d$1_isPlaceholder as isPlaceholder, index_d$1_isPlaceholderType as isPlaceholderType, index_d$1_isPrivate as isPrivate, index_d$1_isPrivateName as isPrivateName, index_d$1_isProgram as isProgram, index_d$1_isProperty as isProperty, index_d$1_isPureish as isPureish, index_d$1_isQualifiedTypeIdentifier as isQualifiedTypeIdentifier, index_d$1_isRecordExpression as isRecordExpression, index_d$1_isReferenced as isReferenced, index_d$1_isRegExpLiteral as isRegExpLiteral, index_d$1_isRegexLiteral as isRegexLiteral, index_d$1_isRestElement as isRestElement, index_d$1_isRestProperty as isRestProperty, index_d$1_isReturnStatement as isReturnStatement, index_d$1_isScopable as isScopable, index_d$1_isScope as isScope, index_d$1_isSequenceExpression as isSequenceExpression, index_d$1_isSpecifierDefault as isSpecifierDefault, index_d$1_isSpreadElement as isSpreadElement, index_d$1_isSpreadProperty as isSpreadProperty, index_d$1_isStandardized as isStandardized, index_d$1_isStatement as isStatement, index_d$1_isStaticBlock as isStaticBlock, index_d$1_isStringLiteral as isStringLiteral, index_d$1_isStringLiteralTypeAnnotation as isStringLiteralTypeAnnotation, index_d$1_isStringTypeAnnotation as isStringTypeAnnotation, index_d$1_isSuper as isSuper, index_d$1_isSwitchCase as isSwitchCase, index_d$1_isSwitchStatement as isSwitchStatement, index_d$1_isSymbolTypeAnnotation as isSymbolTypeAnnotation, index_d$1_isTSAnyKeyword as isTSAnyKeyword, index_d$1_isTSArrayType as isTSArrayType, index_d$1_isTSAsExpression as isTSAsExpression, index_d$1_isTSBaseType as isTSBaseType, index_d$1_isTSBigIntKeyword as isTSBigIntKeyword, index_d$1_isTSBooleanKeyword as isTSBooleanKeyword, index_d$1_isTSCallSignatureDeclaration as isTSCallSignatureDeclaration, index_d$1_isTSConditionalType as isTSConditionalType, index_d$1_isTSConstructSignatureDeclaration as isTSConstructSignatureDeclaration, index_d$1_isTSConstructorType as isTSConstructorType, index_d$1_isTSDeclareFunction as isTSDeclareFunction, index_d$1_isTSDeclareMethod as isTSDeclareMethod, index_d$1_isTSEntityName as isTSEntityName, index_d$1_isTSEnumBody as isTSEnumBody, index_d$1_isTSEnumDeclaration as isTSEnumDeclaration, index_d$1_isTSEnumMember as isTSEnumMember, index_d$1_isTSExportAssignment as isTSExportAssignment, index_d$1_isTSExpressionWithTypeArguments as isTSExpressionWithTypeArguments, index_d$1_isTSExternalModuleReference as isTSExternalModuleReference, index_d$1_isTSFunctionType as isTSFunctionType, index_d$1_isTSImportEqualsDeclaration as isTSImportEqualsDeclaration, index_d$1_isTSImportType as isTSImportType, index_d$1_isTSIndexSignature as isTSIndexSignature, index_d$1_isTSIndexedAccessType as isTSIndexedAccessType, index_d$1_isTSInferType as isTSInferType, index_d$1_isTSInstantiationExpression as isTSInstantiationExpression, index_d$1_isTSInterfaceBody as isTSInterfaceBody, index_d$1_isTSInterfaceDeclaration as isTSInterfaceDeclaration, index_d$1_isTSIntersectionType as isTSIntersectionType, index_d$1_isTSIntrinsicKeyword as isTSIntrinsicKeyword, index_d$1_isTSLiteralType as isTSLiteralType, index_d$1_isTSMappedType as isTSMappedType, index_d$1_isTSMethodSignature as isTSMethodSignature, index_d$1_isTSModuleBlock as isTSModuleBlock, index_d$1_isTSModuleDeclaration as isTSModuleDeclaration, index_d$1_isTSNamedTupleMember as isTSNamedTupleMember, index_d$1_isTSNamespaceExportDeclaration as isTSNamespaceExportDeclaration, index_d$1_isTSNeverKeyword as isTSNeverKeyword, index_d$1_isTSNonNullExpression as isTSNonNullExpression, index_d$1_isTSNullKeyword as isTSNullKeyword, index_d$1_isTSNumberKeyword as isTSNumberKeyword, index_d$1_isTSObjectKeyword as isTSObjectKeyword, index_d$1_isTSOptionalType as isTSOptionalType, index_d$1_isTSParameterProperty as isTSParameterProperty, index_d$1_isTSParenthesizedType as isTSParenthesizedType, index_d$1_isTSPropertySignature as isTSPropertySignature, index_d$1_isTSQualifiedName as isTSQualifiedName, index_d$1_isTSRestType as isTSRestType, index_d$1_isTSSatisfiesExpression as isTSSatisfiesExpression, index_d$1_isTSStringKeyword as isTSStringKeyword, index_d$1_isTSSymbolKeyword as isTSSymbolKeyword, index_d$1_isTSTemplateLiteralType as isTSTemplateLiteralType, index_d$1_isTSThisType as isTSThisType, index_d$1_isTSTupleType as isTSTupleType, index_d$1_isTSType as isTSType, index_d$1_isTSTypeAliasDeclaration as isTSTypeAliasDeclaration, index_d$1_isTSTypeAnnotation as isTSTypeAnnotation, index_d$1_isTSTypeAssertion as isTSTypeAssertion, index_d$1_isTSTypeElement as isTSTypeElement, index_d$1_isTSTypeLiteral as isTSTypeLiteral, index_d$1_isTSTypeOperator as isTSTypeOperator, index_d$1_isTSTypeParameter as isTSTypeParameter, index_d$1_isTSTypeParameterDeclaration as isTSTypeParameterDeclaration, index_d$1_isTSTypeParameterInstantiation as isTSTypeParameterInstantiation, index_d$1_isTSTypePredicate as isTSTypePredicate, index_d$1_isTSTypeQuery as isTSTypeQuery, index_d$1_isTSTypeReference as isTSTypeReference, index_d$1_isTSUndefinedKeyword as isTSUndefinedKeyword, index_d$1_isTSUnionType as isTSUnionType, index_d$1_isTSUnknownKeyword as isTSUnknownKeyword, index_d$1_isTSVoidKeyword as isTSVoidKeyword, index_d$1_isTaggedTemplateExpression as isTaggedTemplateExpression, index_d$1_isTemplateElement as isTemplateElement, index_d$1_isTemplateLiteral as isTemplateLiteral, index_d$1_isTerminatorless as isTerminatorless, index_d$1_isThisExpression as isThisExpression, index_d$1_isThisTypeAnnotation as isThisTypeAnnotation, index_d$1_isThrowStatement as isThrowStatement, index_d$1_isTopicReference as isTopicReference, index_d$1_isTryStatement as isTryStatement, index_d$1_isTupleExpression as isTupleExpression, index_d$1_isTupleTypeAnnotation as isTupleTypeAnnotation, index_d$1_isType as isType, index_d$1_isTypeAlias as isTypeAlias, index_d$1_isTypeAnnotation as isTypeAnnotation, index_d$1_isTypeCastExpression as isTypeCastExpression, index_d$1_isTypeParameter as isTypeParameter, index_d$1_isTypeParameterDeclaration as isTypeParameterDeclaration, index_d$1_isTypeParameterInstantiation as isTypeParameterInstantiation, index_d$1_isTypeScript as isTypeScript, index_d$1_isTypeofTypeAnnotation as isTypeofTypeAnnotation, index_d$1_isUnaryExpression as isUnaryExpression, index_d$1_isUnaryLike as isUnaryLike, index_d$1_isUnionTypeAnnotation as isUnionTypeAnnotation, index_d$1_isUpdateExpression as isUpdateExpression, index_d$1_isUserWhitespacable as isUserWhitespacable, index_d$1_isV8IntrinsicIdentifier as isV8IntrinsicIdentifier, index_d$1_isValidES3Identifier as isValidES3Identifier, index_d$1_isValidIdentifier as isValidIdentifier, index_d$1_isVar as isVar, index_d$1_isVariableDeclaration as isVariableDeclaration, index_d$1_isVariableDeclarator as isVariableDeclarator, index_d$1_isVariance as isVariance, index_d$1_isVoidTypeAnnotation as isVoidTypeAnnotation, index_d$1_isWhile as isWhile, index_d$1_isWhileStatement as isWhileStatement, index_d$1_isWithStatement as isWithStatement, index_d$1_isYieldExpression as isYieldExpression, jsxAttribute as jSXAttribute, jsxClosingElement as jSXClosingElement, jsxClosingFragment as jSXClosingFragment, jsxElement as jSXElement, jsxEmptyExpression as jSXEmptyExpression, jsxExpressionContainer as jSXExpressionContainer, jsxFragment as jSXFragment, jsxIdentifier as jSXIdentifier, jsxMemberExpression as jSXMemberExpression, jsxNamespacedName as jSXNamespacedName, jsxOpeningElement as jSXOpeningElement, jsxOpeningFragment as jSXOpeningFragment, jsxSpreadAttribute as jSXSpreadAttribute, jsxSpreadChild as jSXSpreadChild, jsxText as jSXText, index_d$1_jsxAttribute as jsxAttribute, index_d$1_jsxClosingElement as jsxClosingElement, index_d$1_jsxClosingFragment as jsxClosingFragment, index_d$1_jsxElement as jsxElement, index_d$1_jsxEmptyExpression as jsxEmptyExpression, index_d$1_jsxExpressionContainer as jsxExpressionContainer, index_d$1_jsxFragment as jsxFragment, index_d$1_jsxIdentifier as jsxIdentifier, index_d$1_jsxMemberExpression as jsxMemberExpression, index_d$1_jsxNamespacedName as jsxNamespacedName, index_d$1_jsxOpeningElement as jsxOpeningElement, index_d$1_jsxOpeningFragment as jsxOpeningFragment, index_d$1_jsxSpreadAttribute as jsxSpreadAttribute, index_d$1_jsxSpreadChild as jsxSpreadChild, index_d$1_jsxText as jsxText, index_d$1_labeledStatement as labeledStatement, index_d$1_logicalExpression as logicalExpression, index_d$1_matchesPattern as matchesPattern, index_d$1_memberExpression as memberExpression, index_d$1_metaProperty as metaProperty, index_d$1_mixedTypeAnnotation as mixedTypeAnnotation, index_d$1_moduleExpression as moduleExpression, index_d$1_newExpression as newExpression, index_d$1_noop as noop, index_d$1_nullLiteral as nullLiteral, index_d$1_nullLiteralTypeAnnotation as nullLiteralTypeAnnotation, index_d$1_nullableTypeAnnotation as nullableTypeAnnotation, NumberLiteral$2 as numberLiteral, index_d$1_numberLiteralTypeAnnotation as numberLiteralTypeAnnotation, index_d$1_numberTypeAnnotation as numberTypeAnnotation, index_d$1_numericLiteral as numericLiteral, index_d$1_objectExpression as objectExpression, index_d$1_objectMethod as objectMethod, index_d$1_objectPattern as objectPattern, index_d$1_objectProperty as objectProperty, index_d$1_objectTypeAnnotation as objectTypeAnnotation, index_d$1_objectTypeCallProperty as objectTypeCallProperty, index_d$1_objectTypeIndexer as objectTypeIndexer, index_d$1_objectTypeInternalSlot as objectTypeInternalSlot, index_d$1_objectTypeProperty as objectTypeProperty, index_d$1_objectTypeSpreadProperty as objectTypeSpreadProperty, index_d$1_opaqueType as opaqueType, index_d$1_optionalCallExpression as optionalCallExpression, index_d$1_optionalIndexedAccessType as optionalIndexedAccessType, index_d$1_optionalMemberExpression as optionalMemberExpression, index_d$1_parenthesizedExpression as parenthesizedExpression, index_d$1_pipelineBareFunction as pipelineBareFunction, index_d$1_pipelinePrimaryTopicReference as pipelinePrimaryTopicReference, index_d$1_pipelineTopicExpression as pipelineTopicExpression, index_d$1_placeholder as placeholder, index_d$1_prependToMemberExpression as prependToMemberExpression, index_d$1_privateName as privateName, program$1 as program, index_d$1_qualifiedTypeIdentifier as qualifiedTypeIdentifier, index_d$1_react as react, index_d$1_recordExpression as recordExpression, index_d$1_regExpLiteral as regExpLiteral, RegexLiteral$2 as regexLiteral, index_d$1_removeComments as removeComments, index_d$1_removeProperties as removeProperties, index_d$1_removePropertiesDeep as removePropertiesDeep, index_d$1_removeTypeDuplicates as removeTypeDuplicates, index_d$1_restElement as restElement, RestProperty$2 as restProperty, index_d$1_returnStatement as returnStatement, index_d$1_sequenceExpression as sequenceExpression, index_d$1_shallowEqual as shallowEqual, index_d$1_spreadElement as spreadElement, SpreadProperty$2 as spreadProperty, index_d$1_staticBlock as staticBlock, index_d$1_stringLiteral as stringLiteral, index_d$1_stringLiteralTypeAnnotation as stringLiteralTypeAnnotation, index_d$1_stringTypeAnnotation as stringTypeAnnotation, _super as super, index_d$1_switchCase as switchCase, index_d$1_switchStatement as switchStatement, index_d$1_symbolTypeAnnotation as symbolTypeAnnotation, tsAnyKeyword as tSAnyKeyword, tsArrayType as tSArrayType, tsAsExpression as tSAsExpression, tsBigIntKeyword as tSBigIntKeyword, tsBooleanKeyword as tSBooleanKeyword, tsCallSignatureDeclaration as tSCallSignatureDeclaration, tsConditionalType as tSConditionalType, tsConstructSignatureDeclaration as tSConstructSignatureDeclaration, tsConstructorType as tSConstructorType, tsDeclareFunction as tSDeclareFunction, tsDeclareMethod as tSDeclareMethod, tsEnumBody as tSEnumBody, tsEnumDeclaration as tSEnumDeclaration, tsEnumMember as tSEnumMember, tsExportAssignment as tSExportAssignment, tsExpressionWithTypeArguments as tSExpressionWithTypeArguments, tsExternalModuleReference as tSExternalModuleReference, tsFunctionType as tSFunctionType, tsImportEqualsDeclaration as tSImportEqualsDeclaration, tsImportType as tSImportType, tsIndexSignature as tSIndexSignature, tsIndexedAccessType as tSIndexedAccessType, tsInferType as tSInferType, tsInstantiationExpression as tSInstantiationExpression, tsInterfaceBody as tSInterfaceBody, tsInterfaceDeclaration as tSInterfaceDeclaration, tsIntersectionType as tSIntersectionType, tsIntrinsicKeyword as tSIntrinsicKeyword, tsLiteralType as tSLiteralType, tsMappedType as tSMappedType, tsMethodSignature as tSMethodSignature, tsModuleBlock as tSModuleBlock, tsModuleDeclaration as tSModuleDeclaration, tsNamedTupleMember as tSNamedTupleMember, tsNamespaceExportDeclaration as tSNamespaceExportDeclaration, tsNeverKeyword as tSNeverKeyword, tsNonNullExpression as tSNonNullExpression, tsNullKeyword as tSNullKeyword, tsNumberKeyword as tSNumberKeyword, tsObjectKeyword as tSObjectKeyword, tsOptionalType as tSOptionalType, tsParameterProperty as tSParameterProperty, tsParenthesizedType as tSParenthesizedType, tsPropertySignature as tSPropertySignature, tsQualifiedName as tSQualifiedName, tsRestType as tSRestType, tsSatisfiesExpression as tSSatisfiesExpression, tsStringKeyword as tSStringKeyword, tsSymbolKeyword as tSSymbolKeyword, tsTemplateLiteralType as tSTemplateLiteralType, tsThisType as tSThisType, tsTupleType as tSTupleType, tsTypeAliasDeclaration as tSTypeAliasDeclaration, tsTypeAnnotation as tSTypeAnnotation, tsTypeAssertion as tSTypeAssertion, tsTypeLiteral as tSTypeLiteral, tsTypeOperator as tSTypeOperator, tsTypeParameter as tSTypeParameter, tsTypeParameterDeclaration as tSTypeParameterDeclaration, tsTypeParameterInstantiation as tSTypeParameterInstantiation, tsTypePredicate as tSTypePredicate, tsTypeQuery as tSTypeQuery, tsTypeReference as tSTypeReference, tsUndefinedKeyword as tSUndefinedKeyword, tsUnionType as tSUnionType, tsUnknownKeyword as tSUnknownKeyword, tsVoidKeyword as tSVoidKeyword, index_d$1_taggedTemplateExpression as taggedTemplateExpression, index_d$1_templateElement as templateElement, index_d$1_templateLiteral as templateLiteral, index_d$1_thisExpression as thisExpression, index_d$1_thisTypeAnnotation as thisTypeAnnotation, index_d$1_throwStatement as throwStatement, index_d$1_toBindingIdentifierName as toBindingIdentifierName, index_d$1_toBlock as toBlock, index_d$1_toComputedKey as toComputedKey, _default$3 as toExpression, index_d$1_toIdentifier as toIdentifier, index_d$1_toKeyAlias as toKeyAlias, _default$2 as toStatement, index_d$1_topicReference as topicReference, traverse$2 as traverse, index_d$1_traverseFast as traverseFast, index_d$1_tryStatement as tryStatement, index_d$1_tsAnyKeyword as tsAnyKeyword, index_d$1_tsArrayType as tsArrayType, index_d$1_tsAsExpression as tsAsExpression, index_d$1_tsBigIntKeyword as tsBigIntKeyword, index_d$1_tsBooleanKeyword as tsBooleanKeyword, index_d$1_tsCallSignatureDeclaration as tsCallSignatureDeclaration, index_d$1_tsConditionalType as tsConditionalType, index_d$1_tsConstructSignatureDeclaration as tsConstructSignatureDeclaration, index_d$1_tsConstructorType as tsConstructorType, index_d$1_tsDeclareFunction as tsDeclareFunction, index_d$1_tsDeclareMethod as tsDeclareMethod, index_d$1_tsEnumBody as tsEnumBody, index_d$1_tsEnumDeclaration as tsEnumDeclaration, index_d$1_tsEnumMember as tsEnumMember, index_d$1_tsExportAssignment as tsExportAssignment, index_d$1_tsExpressionWithTypeArguments as tsExpressionWithTypeArguments, index_d$1_tsExternalModuleReference as tsExternalModuleReference, index_d$1_tsFunctionType as tsFunctionType, index_d$1_tsImportEqualsDeclaration as tsImportEqualsDeclaration, index_d$1_tsImportType as tsImportType, index_d$1_tsIndexSignature as tsIndexSignature, index_d$1_tsIndexedAccessType as tsIndexedAccessType, index_d$1_tsInferType as tsInferType, index_d$1_tsInstantiationExpression as tsInstantiationExpression, index_d$1_tsInterfaceBody as tsInterfaceBody, index_d$1_tsInterfaceDeclaration as tsInterfaceDeclaration, index_d$1_tsIntersectionType as tsIntersectionType, index_d$1_tsIntrinsicKeyword as tsIntrinsicKeyword, index_d$1_tsLiteralType as tsLiteralType, index_d$1_tsMappedType as tsMappedType, index_d$1_tsMethodSignature as tsMethodSignature, index_d$1_tsModuleBlock as tsModuleBlock, index_d$1_tsModuleDeclaration as tsModuleDeclaration, index_d$1_tsNamedTupleMember as tsNamedTupleMember, index_d$1_tsNamespaceExportDeclaration as tsNamespaceExportDeclaration, index_d$1_tsNeverKeyword as tsNeverKeyword, index_d$1_tsNonNullExpression as tsNonNullExpression, index_d$1_tsNullKeyword as tsNullKeyword, index_d$1_tsNumberKeyword as tsNumberKeyword, index_d$1_tsObjectKeyword as tsObjectKeyword, index_d$1_tsOptionalType as tsOptionalType, index_d$1_tsParameterProperty as tsParameterProperty, index_d$1_tsParenthesizedType as tsParenthesizedType, index_d$1_tsPropertySignature as tsPropertySignature, index_d$1_tsQualifiedName as tsQualifiedName, index_d$1_tsRestType as tsRestType, index_d$1_tsSatisfiesExpression as tsSatisfiesExpression, index_d$1_tsStringKeyword as tsStringKeyword, index_d$1_tsSymbolKeyword as tsSymbolKeyword, index_d$1_tsTemplateLiteralType as tsTemplateLiteralType, index_d$1_tsThisType as tsThisType, index_d$1_tsTupleType as tsTupleType, index_d$1_tsTypeAliasDeclaration as tsTypeAliasDeclaration, index_d$1_tsTypeAnnotation as tsTypeAnnotation, index_d$1_tsTypeAssertion as tsTypeAssertion, index_d$1_tsTypeLiteral as tsTypeLiteral, index_d$1_tsTypeOperator as tsTypeOperator, index_d$1_tsTypeParameter as tsTypeParameter, index_d$1_tsTypeParameterDeclaration as tsTypeParameterDeclaration, index_d$1_tsTypeParameterInstantiation as tsTypeParameterInstantiation, index_d$1_tsTypePredicate as tsTypePredicate, index_d$1_tsTypeQuery as tsTypeQuery, index_d$1_tsTypeReference as tsTypeReference, index_d$1_tsUndefinedKeyword as tsUndefinedKeyword, index_d$1_tsUnionType as tsUnionType, index_d$1_tsUnknownKeyword as tsUnknownKeyword, index_d$1_tsVoidKeyword as tsVoidKeyword, index_d$1_tupleExpression as tupleExpression, index_d$1_tupleTypeAnnotation as tupleTypeAnnotation, index_d$1_typeAlias as typeAlias, index_d$1_typeAnnotation as typeAnnotation, index_d$1_typeCastExpression as typeCastExpression, index_d$1_typeParameter as typeParameter, index_d$1_typeParameterDeclaration as typeParameterDeclaration, index_d$1_typeParameterInstantiation as typeParameterInstantiation, index_d$1_typeofTypeAnnotation as typeofTypeAnnotation, index_d$1_unaryExpression as unaryExpression, index_d$1_unionTypeAnnotation as unionTypeAnnotation, index_d$1_updateExpression as updateExpression, index_d$1_v8IntrinsicIdentifier as v8IntrinsicIdentifier, index_d$1_validate as validate, _default$1 as valueToNode, index_d$1_variableDeclaration as variableDeclaration, index_d$1_variableDeclarator as variableDeclarator, index_d$1_variance as variance, index_d$1_voidTypeAnnotation as voidTypeAnnotation, index_d$1_whileStatement as whileStatement, index_d$1_withStatement as withStatement, index_d$1_yieldExpression as yieldExpression };
}

// This file is auto-generated! Do not modify it directly.
// Run `yarn gulp bundle-dts` to re-generate it.
/* eslint-disable @typescript-eslint/consistent-type-imports, @typescript-eslint/no-redundant-type-constituents */


type BABEL_8_BREAKING$2 = false;
type IF_BABEL_7$2<V> = false extends BABEL_8_BREAKING$2 ? V : never;

type Plugin$1$1 =
  | "asyncDoExpressions"
  | IF_BABEL_7$2<"asyncGenerators">
  | IF_BABEL_7$2<"bigInt">
  | IF_BABEL_7$2<"classPrivateMethods">
  | IF_BABEL_7$2<"classPrivateProperties">
  | IF_BABEL_7$2<"classProperties">
  | IF_BABEL_7$2<"classStaticBlock">
  | IF_BABEL_7$2<"decimal">
  | "decorators-legacy"
  | "deferredImportEvaluation"
  | "decoratorAutoAccessors"
  | "destructuringPrivate"
  | "deprecatedImportAssert"
  | "doExpressions"
  | IF_BABEL_7$2<"dynamicImport">
  | "explicitResourceManagement"
  | "exportDefaultFrom"
  | IF_BABEL_7$2<"exportNamespaceFrom">
  | "flow"
  | "flowComments"
  | "functionBind"
  | "functionSent"
  | "importMeta"
  | "jsx"
  | IF_BABEL_7$2<"jsonStrings">
  | IF_BABEL_7$2<"logicalAssignment">
  | IF_BABEL_7$2<"importAssertions">
  | IF_BABEL_7$2<"importReflection">
  | "moduleBlocks"
  | IF_BABEL_7$2<"moduleStringNames">
  | IF_BABEL_7$2<"nullishCoalescingOperator">
  | IF_BABEL_7$2<"numericSeparator">
  | IF_BABEL_7$2<"objectRestSpread">
  | IF_BABEL_7$2<"optionalCatchBinding">
  | IF_BABEL_7$2<"optionalChaining">
  | "partialApplication"
  | "placeholders"
  | IF_BABEL_7$2<"privateIn">
  | IF_BABEL_7$2<"regexpUnicodeSets">
  | "sourcePhaseImports"
  | "throwExpressions"
  | IF_BABEL_7$2<"topLevelAwait">
  | "v8intrinsic"
  | ParserPluginWithOptions$2[0];

type ParserPluginWithOptions$2 =
  | ["decorators", DecoratorsPluginOptions$2]
  | ["estree", { classFeatures?: boolean }]
  | IF_BABEL_7$2<["importAttributes", { deprecatedAssertSyntax: boolean }]>
  | IF_BABEL_7$2<["moduleAttributes", { version: "may-2020" }]>
  | ["optionalChainingAssign", { version: "2023-07" }]
  | ["pipelineOperator", PipelineOperatorPluginOptions$2]
  | ["recordAndTuple", RecordAndTuplePluginOptions$2]
  | ["flow", FlowPluginOptions$2]
  | ["typescript", TypeScriptPluginOptions$2];

type PluginConfig$2 = Plugin$1$1 | ParserPluginWithOptions$2;

interface DecoratorsPluginOptions$2 {
  decoratorsBeforeExport?: boolean;
  allowCallParenthesized?: boolean;
}

interface PipelineOperatorPluginOptions$2 {
  proposal: BABEL_8_BREAKING$2 extends false
    ? "minimal" | "fsharp" | "hack" | "smart"
    : "fsharp" | "hack";
  topicToken?: "%" | "#" | "@@" | "^^" | "^";
}

interface RecordAndTuplePluginOptions$2 {
  syntaxType: "bar" | "hash";
}

type FlowPluginOptions$2 = BABEL_8_BREAKING$2 extends true
  ? {
      all?: boolean;
      enums?: boolean;
    }
  : {
      all?: boolean;
    };

interface TypeScriptPluginOptions$2 {
  dts?: boolean;
  disallowAmbiguousJSXLike?: boolean;
}

type Plugin$3 = PluginConfig$2;

interface Options$1 {
    /**
     * By default, import and export declarations can only appear at a program's top level.
     * Setting this option to true allows them anywhere where a statement is allowed.
     */
    allowImportExportEverywhere?: boolean;
    /**
     * By default, await use is not allowed outside of an async function.
     * Set this to true to accept such code.
     */
    allowAwaitOutsideFunction?: boolean;
    /**
     * By default, a return statement at the top level raises an error.
     * Set this to true to accept such code.
     */
    allowReturnOutsideFunction?: boolean;
    /**
     * By default, new.target use is not allowed outside of a function or class.
     * Set this to true to accept such code.
     */
    allowNewTargetOutsideFunction?: boolean;
    allowSuperOutsideMethod?: boolean;
    /**
     * By default, exported identifiers must refer to a declared variable.
     * Set this to true to allow export statements to reference undeclared variables.
     */
    allowUndeclaredExports?: boolean;
    /**
     * By default, Babel parser JavaScript code according to Annex B syntax.
     * Set this to `false` to disable such behavior.
     */
    annexB?: boolean;
    /**
     * By default, Babel attaches comments to adjacent AST nodes.
     * When this option is set to false, comments are not attached.
     * It can provide up to 30% performance improvement when the input code has many comments.
     * @babel/eslint-parser will set it for you.
     * It is not recommended to use attachComment: false with Babel transform,
     * as doing so removes all the comments in output code, and renders annotations such as
     * /* istanbul ignore next *\/ nonfunctional.
     */
    attachComment?: boolean;
    /**
     * By default, Babel always throws an error when it finds some invalid code.
     * When this option is set to true, it will store the parsing error and
     * try to continue parsing the invalid input file.
     */
    errorRecovery?: boolean;
    /**
     * Indicate the mode the code should be parsed in.
     * Can be one of "script", "module", or "unambiguous". Defaults to "script".
     * "unambiguous" will make @babel/parser attempt to guess, based on the presence
     * of ES6 import or export statements.
     * Files with ES6 imports and exports are considered "module" and are otherwise "script".
     */
    sourceType?: "script" | "module" | "unambiguous";
    /**
     * Correlate output AST nodes with their source filename.
     * Useful when generating code and source maps from the ASTs of multiple input files.
     */
    sourceFilename?: string;
    /**
     * By default, all source indexes start from 0.
     * You can provide a start index to alternatively start with.
     * Useful for integration with other source tools.
     */
    startIndex?: number;
    /**
     * By default, the first line of code parsed is treated as line 1.
     * You can provide a line number to alternatively start with.
     * Useful for integration with other source tools.
     */
    startLine?: number;
    /**
     * By default, the parsed code is treated as if it starts from line 1, column 0.
     * You can provide a column number to alternatively start with.
     * Useful for integration with other source tools.
     */
    startColumn?: number;
    /**
     * Array containing the plugins that you want to enable.
     */
    plugins?: Plugin$3[];
    /**
     * Should the parser work in strict mode.
     * Defaults to true if sourceType === 'module'. Otherwise, false.
     */
    strictMode?: boolean;
    /**
     * Adds a ranges property to each node: [node.start, node.end]
     */
    ranges?: boolean;
    /**
     * Adds all parsed tokens to a tokens property on the File node.
     */
    tokens?: boolean;
    /**
     * By default, the parser adds information about parentheses by setting
     * `extra.parenthesized` to `true` as needed.
     * When this option is `true` the parser creates `ParenthesizedExpression`
     * AST nodes instead of using the `extra` property.
     */
    createParenthesizedExpressions?: boolean;
    /**
     * The default is false in Babel 7 and true in Babel 8
     * Set this to true to parse it as an `ImportExpression` node.
     * Otherwise `import(foo)` is parsed as `CallExpression(Import, [Identifier(foo)])`.
     */
    createImportExpressions?: boolean;
}

type ParserOptions$2 = Partial<Options$1>;
interface ParseError$1 {
    code: string;
    reasonCode: string;
}
type ParseResult$2<Result extends File$1 | Expression$1 = File$1> = Result & {
    errors: null | ParseError$1[];
};
/**
 * Parse the provided code as an entire ECMAScript program.
 */
declare function parse$2(input: string, options?: ParserOptions$2): ParseResult$2<File$1>;

interface GeneratorOptions {
    /**
     * Optional string to add as a block comment at the start of the output file.
     */
    auxiliaryCommentBefore?: string | undefined;

    /**
     * Optional string to add as a block comment at the end of the output file.
     */
    auxiliaryCommentAfter?: string | undefined;

    /**
     * Function that takes a comment (as a string) and returns true if the comment should be included in the output.
     * By default, comments are included if `opts.comments` is `true` or if `opts.minifed` is `false` and the comment
     * contains `@preserve` or `@license`.
     */
    shouldPrintComment?(comment: string): boolean;

    /**
     * Attempt to use the same line numbers in the output code as in the source code (helps preserve stack traces).
     * Defaults to `false`.
     */
    retainLines?: boolean | undefined;

    /**
     * Retain parens around function expressions (could be used to change engine parsing behavior)
     * Defaults to `false`.
     */
    retainFunctionParens?: boolean | undefined;

    /**
     * Should comments be included in output? Defaults to `true`.
     */
    comments?: boolean | undefined;

    /**
     * Set to true to avoid adding whitespace for formatting. Defaults to the value of `opts.minified`.
     */
    compact?: boolean | "auto" | undefined;

    /**
     * Should the output be minified. Defaults to `false`.
     */
    minified?: boolean | undefined;

    /**
     * Set to true to reduce whitespace (but not as much as opts.compact). Defaults to `false`.
     */
    concise?: boolean | undefined;

    /**
     * Used in warning messages
     */
    filename?: string | undefined;

    /**
     * Enable generating source maps. Defaults to `false`.
     */
    sourceMaps?: boolean | undefined;

    /**
     * A root for all relative URLs in the source map.
     */
    sourceRoot?: string | undefined;

    /**
     * The filename for the source code (i.e. the code in the `code` argument).
     * This will only be used if `code` is a string.
     */
    sourceFileName?: string | undefined;

    /**
     * Set to true to run jsesc with "json": true to print "\u00A9" vs. "©";
     */
    jsonCompatibleStrings?: boolean | undefined;

    /**
     * Set to true to enable support for experimental decorators syntax before module exports.
     * Defaults to `false`.
     */
    decoratorsBeforeExport?: boolean | undefined;

    /**
     * Options for outputting jsesc representation.
     */
    jsescOption?: {
        /**
         * The default value for the quotes option is 'single'. This means that any occurrences of ' in the input
         * string are escaped as \', so that the output can be used in a string literal wrapped in single quotes.
         */
        quotes?: "single" | "double" | "backtick" | undefined;

        /**
         * The default value for the numbers option is 'decimal'. This means that any numeric values are represented
         * using decimal integer literals. Other valid options are binary, octal, and hexadecimal, which result in
         * binary integer literals, octal integer literals, and hexadecimal integer literals, respectively.
         */
        numbers?: "binary" | "octal" | "decimal" | "hexadecimal" | undefined;

        /**
         * The wrap option takes a boolean value (true or false), and defaults to false (disabled). When enabled, the
         * output is a valid JavaScript string literal wrapped in quotes. The type of quotes can be specified through
         * the quotes setting.
         */
        wrap?: boolean | undefined;

        /**
         * The es6 option takes a boolean value (true or false), and defaults to false (disabled). When enabled, any
         * astral Unicode symbols in the input are escaped using ECMAScript 6 Unicode code point escape sequences
         * instead of using separate escape sequences for each surrogate half. If backwards compatibility with ES5
         * environments is a concern, don’t enable this setting. If the json setting is enabled, the value for the es6
         * setting is ignored (as if it was false).
         */
        es6?: boolean | undefined;

        /**
         * The escapeEverything option takes a boolean value (true or false), and defaults to false (disabled). When
         * enabled, all the symbols in the output are escaped — even printable ASCII symbols.
         */
        escapeEverything?: boolean | undefined;

        /**
         * The minimal option takes a boolean value (true or false), and defaults to false (disabled). When enabled,
         * only a limited set of symbols in the output are escaped: \0, \b, \t, \n, \f, \r, \\, \u2028, \u2029.
         */
        minimal?: boolean | undefined;

        /**
         * The isScriptContext option takes a boolean value (true or false), and defaults to false (disabled). When
         * enabled, occurrences of </script and </style in the output are escaped as <\/script and <\/style, and <!--
         * is escaped as \x3C!-- (or \u003C!-- when the json option is enabled). This setting is useful when jsesc’s
         * output ends up as part of a <script> or <style> element in an HTML document.
         */
        isScriptContext?: boolean | undefined;

        /**
         * The compact option takes a boolean value (true or false), and defaults to true (enabled). When enabled,
         * the output for arrays and objects is as compact as possible; it’s not formatted nicely.
         */
        compact?: boolean | undefined;

        /**
         * The indent option takes a string value, and defaults to '\t'. When the compact setting is enabled (true),
         * the value of the indent option is used to format the output for arrays and objects.
         */
        indent?: string | undefined;

        /**
         * The indentLevel option takes a numeric value, and defaults to 0. It represents the current indentation level,
         * i.e. the number of times the value of the indent option is repeated.
         */
        indentLevel?: number | undefined;

        /**
         * The json option takes a boolean value (true or false), and defaults to false (disabled). When enabled, the
         * output is valid JSON. Hexadecimal character escape sequences and the \v or \0 escape sequences are not used.
         * Setting json: true implies quotes: 'double', wrap: true, es6: false, although these values can still be
         * overridden if needed — but in such cases, the output won’t be valid JSON anymore.
         */
        json?: boolean | undefined;

        /**
         * The lowercaseHex option takes a boolean value (true or false), and defaults to false (disabled). When enabled,
         * any alphabetical hexadecimal digits in escape sequences as well as any hexadecimal integer literals (see the
         * numbers option) in the output are in lowercase.
         */
        lowercaseHex?: boolean | undefined;
    } | undefined;
}

/**
 * Turns an AST into code, maintaining sourcemaps, user preferences, and valid output.
 * @param ast - the abstract syntax tree from which to generate output code.
 * @param opts - used for specifying options for code generation.
 * @param code - the original source code, used for source maps.
 * @returns - an object containing the output code and source map.
 */
declare function generate$1(
    ast: Node$2,
    opts?: GeneratorOptions,
    code?: string | { [filename: string]: string },
): GeneratorResult;

interface GeneratorResult {
    code: string;
    map: {
        version: number;
        sources: string[];
        names: string[];
        sourceRoot?: string | undefined;
        sourcesContent?: string[] | undefined;
        mappings: string;
        file: string;
    } | null;
}

// This file is auto-generated! Do not modify it directly.
// Run `yarn gulp bundle-dts` to re-generate it.
/* eslint-disable @typescript-eslint/consistent-type-imports, @typescript-eslint/no-redundant-type-constituents */


type BABEL_8_BREAKING$1 = false;
type IF_BABEL_7$1<V> = false extends BABEL_8_BREAKING$1 ? V : never;

type Plugin$1 =
  | "asyncDoExpressions"
  | IF_BABEL_7$1<"asyncGenerators">
  | IF_BABEL_7$1<"bigInt">
  | IF_BABEL_7$1<"classPrivateMethods">
  | IF_BABEL_7$1<"classPrivateProperties">
  | IF_BABEL_7$1<"classProperties">
  | IF_BABEL_7$1<"classStaticBlock">
  | IF_BABEL_7$1<"decimal">
  | "decorators-legacy"
  | "deferredImportEvaluation"
  | "decoratorAutoAccessors"
  | "destructuringPrivate"
  | "deprecatedImportAssert"
  | "doExpressions"
  | IF_BABEL_7$1<"dynamicImport">
  | "explicitResourceManagement"
  | "exportDefaultFrom"
  | IF_BABEL_7$1<"exportNamespaceFrom">
  | "flow"
  | "flowComments"
  | "functionBind"
  | "functionSent"
  | "importMeta"
  | "jsx"
  | IF_BABEL_7$1<"jsonStrings">
  | IF_BABEL_7$1<"logicalAssignment">
  | IF_BABEL_7$1<"importAssertions">
  | IF_BABEL_7$1<"importReflection">
  | "moduleBlocks"
  | IF_BABEL_7$1<"moduleStringNames">
  | IF_BABEL_7$1<"nullishCoalescingOperator">
  | IF_BABEL_7$1<"numericSeparator">
  | IF_BABEL_7$1<"objectRestSpread">
  | IF_BABEL_7$1<"optionalCatchBinding">
  | IF_BABEL_7$1<"optionalChaining">
  | "partialApplication"
  | "placeholders"
  | IF_BABEL_7$1<"privateIn">
  | IF_BABEL_7$1<"regexpUnicodeSets">
  | "sourcePhaseImports"
  | "throwExpressions"
  | IF_BABEL_7$1<"topLevelAwait">
  | "v8intrinsic"
  | ParserPluginWithOptions$1[0];

type ParserPluginWithOptions$1 =
  | ["decorators", DecoratorsPluginOptions$1]
  | ["estree", { classFeatures?: boolean }]
  | IF_BABEL_7$1<["importAttributes", { deprecatedAssertSyntax: boolean }]>
  | IF_BABEL_7$1<["moduleAttributes", { version: "may-2020" }]>
  | ["optionalChainingAssign", { version: "2023-07" }]
  | ["pipelineOperator", PipelineOperatorPluginOptions$1]
  | ["recordAndTuple", RecordAndTuplePluginOptions$1]
  | ["flow", FlowPluginOptions$1]
  | ["typescript", TypeScriptPluginOptions$1];

type PluginConfig$1 = Plugin$1 | ParserPluginWithOptions$1;

interface DecoratorsPluginOptions$1 {
  decoratorsBeforeExport?: boolean;
  allowCallParenthesized?: boolean;
}

interface PipelineOperatorPluginOptions$1 {
  proposal: BABEL_8_BREAKING$1 extends false
    ? "minimal" | "fsharp" | "hack" | "smart"
    : "fsharp" | "hack";
  topicToken?: "%" | "#" | "@@" | "^^" | "^";
}

interface RecordAndTuplePluginOptions$1 {
  syntaxType: "bar" | "hash";
}

type FlowPluginOptions$1 = BABEL_8_BREAKING$1 extends true
  ? {
      all?: boolean;
      enums?: boolean;
    }
  : {
      all?: boolean;
    };

interface TypeScriptPluginOptions$1 {
  dts?: boolean;
  disallowAmbiguousJSXLike?: boolean;
}

type Plugin$2 = PluginConfig$1;

interface Options {
    /**
     * By default, import and export declarations can only appear at a program's top level.
     * Setting this option to true allows them anywhere where a statement is allowed.
     */
    allowImportExportEverywhere?: boolean;
    /**
     * By default, await use is not allowed outside of an async function.
     * Set this to true to accept such code.
     */
    allowAwaitOutsideFunction?: boolean;
    /**
     * By default, a return statement at the top level raises an error.
     * Set this to true to accept such code.
     */
    allowReturnOutsideFunction?: boolean;
    /**
     * By default, new.target use is not allowed outside of a function or class.
     * Set this to true to accept such code.
     */
    allowNewTargetOutsideFunction?: boolean;
    allowSuperOutsideMethod?: boolean;
    /**
     * By default, exported identifiers must refer to a declared variable.
     * Set this to true to allow export statements to reference undeclared variables.
     */
    allowUndeclaredExports?: boolean;
    /**
     * By default, Babel parser JavaScript code according to Annex B syntax.
     * Set this to `false` to disable such behavior.
     */
    annexB?: boolean;
    /**
     * By default, Babel attaches comments to adjacent AST nodes.
     * When this option is set to false, comments are not attached.
     * It can provide up to 30% performance improvement when the input code has many comments.
     * @babel/eslint-parser will set it for you.
     * It is not recommended to use attachComment: false with Babel transform,
     * as doing so removes all the comments in output code, and renders annotations such as
     * /* istanbul ignore next *\/ nonfunctional.
     */
    attachComment?: boolean;
    /**
     * By default, Babel always throws an error when it finds some invalid code.
     * When this option is set to true, it will store the parsing error and
     * try to continue parsing the invalid input file.
     */
    errorRecovery?: boolean;
    /**
     * Indicate the mode the code should be parsed in.
     * Can be one of "script", "module", or "unambiguous". Defaults to "script".
     * "unambiguous" will make @babel/parser attempt to guess, based on the presence
     * of ES6 import or export statements.
     * Files with ES6 imports and exports are considered "module" and are otherwise "script".
     */
    sourceType?: "script" | "module" | "unambiguous";
    /**
     * Correlate output AST nodes with their source filename.
     * Useful when generating code and source maps from the ASTs of multiple input files.
     */
    sourceFilename?: string;
    /**
     * By default, all source indexes start from 0.
     * You can provide a start index to alternatively start with.
     * Useful for integration with other source tools.
     */
    startIndex?: number;
    /**
     * By default, the first line of code parsed is treated as line 1.
     * You can provide a line number to alternatively start with.
     * Useful for integration with other source tools.
     */
    startLine?: number;
    /**
     * By default, the parsed code is treated as if it starts from line 1, column 0.
     * You can provide a column number to alternatively start with.
     * Useful for integration with other source tools.
     */
    startColumn?: number;
    /**
     * Array containing the plugins that you want to enable.
     */
    plugins?: Plugin$2[];
    /**
     * Should the parser work in strict mode.
     * Defaults to true if sourceType === 'module'. Otherwise, false.
     */
    strictMode?: boolean;
    /**
     * Adds a ranges property to each node: [node.start, node.end]
     */
    ranges?: boolean;
    /**
     * Adds all parsed tokens to a tokens property on the File node.
     */
    tokens?: boolean;
    /**
     * By default, the parser adds information about parentheses by setting
     * `extra.parenthesized` to `true` as needed.
     * When this option is `true` the parser creates `ParenthesizedExpression`
     * AST nodes instead of using the `extra` property.
     */
    createParenthesizedExpressions?: boolean;
    /**
     * The default is false in Babel 7 and true in Babel 8
     * Set this to true to parse it as an `ImportExpression` node.
     * Otherwise `import(foo)` is parsed as `CallExpression(Import, [Identifier(foo)])`.
     */
    createImportExpressions?: boolean;
}

type ParserOptions$1 = Partial<Options>;

interface TemplateBuilderOptions extends ParserOptions$1 {
    /**
     * A set of placeholder names to automatically accept.
     * Items in this list do not need to match `placeholderPattern`.
     *
     * This option cannot be used when using `%%foo%%` style placeholders.
     */
    placeholderWhitelist?: Set<string> | null | undefined;

    /**
     * A pattern to search for when looking for `Identifier` and `StringLiteral`
     * nodes that should be considered as placeholders.
     *
     * `false` will disable placeholder searching placeholders, leaving only
     * the `placeholderWhitelist` value to find replacements.
     *
     * This option cannot be used when using `%%foo%%` style placeholders.
     *
     * @default /^[_$A-Z0-9]+$/
     */
    placeholderPattern?: RegExp | false | null | undefined;

    /**
     * Set this to `true` to preserve comments from the template string
     * into the resulting AST, or `false` to automatically discard comments.
     *
     * @default false
     */
    preserveComments?: boolean | null | undefined;

    /**
     * Set to `true` to use `%%foo%%` style placeholders, `false` to use legacy placeholders
     * described by `placeholderPattern` or `placeholderWhitelist`.
     *
     * When it is not set, it behaves as `true` if there are syntactic placeholders, otherwise as `false`.
     *
     * @since 7.4.0
     */
    syntacticPlaceholders?: boolean | null | undefined;
}

interface TemplateBuilder<T> {
    /**
     * Build a new builder, merging the given options with the previous ones.
     */
    (opts: TemplateBuilderOptions): TemplateBuilder<T>;

    /**
     * Building from a string produces an AST builder function by default.
     */
    (code: string, opts?: TemplateBuilderOptions): (arg?: PublicReplacements) => T;

    /**
     * Building from a template literal produces an AST builder function by default.
     */
    (tpl: TemplateStringsArray, ...args: unknown[]): (arg?: PublicReplacements) => T;

    /**
     * Allow users to explicitly create templates that produce ASTs,
     * skipping the need for an intermediate function.
     *
     * Does not allow `%%foo%%` style placeholders.
     */
    ast: {
        (tpl: string, opts?: TemplateBuilderOptions): T;
        (tpl: TemplateStringsArray, ...args: unknown[]): T;
    };
}

type PublicReplacements = { [index: string]: unknown } | unknown[];

declare const smart: TemplateBuilder<Statement$1 | Statement$1[]>;
declare const statement: TemplateBuilder<Statement$1>;
declare const statements: TemplateBuilder<Statement$1[]>;
declare const expression: TemplateBuilder<Expression$1>;
declare const program: TemplateBuilder<Program$1>;

type DefaultTemplateBuilder = typeof smart & {
    smart: typeof smart;
    statement: typeof statement;
    statements: typeof statements;
    expression: typeof expression;
    program: typeof program;
    ast: typeof smart.ast;
};

declare const templateBuilder: DefaultTemplateBuilder;

declare const traverse$1: {
    <S>(parent: Node$2, opts: TraverseOptions<S>, scope: Scope | undefined, state: S, parentPath?: NodePath): void;
    (parent: Node$2, opts?: TraverseOptions, scope?: Scope, state?: any, parentPath?: NodePath): void;

    visitors: typeof visitors;
    verify: typeof visitors.verify;
    explode: typeof visitors.explode;

    cheap: (node: Node$2, enter: (node: Node$2) => void) => void;
    node: (
        node: Node$2,
        opts: TraverseOptions,
        scope?: Scope,
        state?: any,
        path?: NodePath,
        skipKeys?: Record<string, boolean>,
    ) => void;
    clearNode: (node: Node$2, opts?: Options$2) => void;
    removeProperties: (tree: Node$2, opts?: Options$2) => Node$2;
    hasType: (tree: Node$2, type: Node$2["type"], denylistTypes?: string[]) => boolean;

    cache: typeof cache;
};

declare namespace visitors {
    /**
     * `explode()` will take a `Visitor` object with all of the various shorthands
     * that we support, and validates & normalizes it into a common format, ready
     * to be used in traversal.
     *
     * The various shorthands are:
     * - `Identifier() { ... }` -> `Identifier: { enter() { ... } }`
     * - `"Identifier|NumericLiteral": { ... }` -> `Identifier: { ... }, NumericLiteral: { ... }`
     * - Aliases in `@babel/types`: e.g. `Property: { ... }` -> `ObjectProperty: { ... }, ClassProperty: { ... }`
     *
     * Other normalizations are:
     * - Visitors of virtual types are wrapped, so that they are only visited when their dynamic check passes
     * - `enter` and `exit` functions are wrapped in arrays, to ease merging of visitors
     */
    function explode<S = unknown>(
        visitor: Visitor<S>,
    ): {
        [Type in Exclude<Node$2, DeprecatedAliases>["type"]]?: VisitNodeObject<S, Extract<Node$2, { type: Type }>>;
    };
    function verify(visitor: Visitor): void;
    function merge<State>(visitors: Array<Visitor<State>>): Visitor<State>;
    function merge(
        visitors: Visitor[],
        states?: any[],
        wrapper?: (
            stateKey: any,
            visitorKey: keyof Visitor,
            func: VisitNodeFunction<unknown, Node$2>,
        ) => VisitNodeFunction<unknown, Node$2> | null,
    ): Visitor;
}

declare namespace cache {
    let path: WeakMap<Node$2, Map<Node$2, NodePath>>;
    let scope: WeakMap<Node$2, Scope>;
    function clear(): void;
    function clearPath(): void;
    function clearScope(): void;
}


type TraverseOptions<S = Node$2> = {
    scope?: Scope;
    noScope?: boolean;
    denylist?: NodeType[];
    /** @deprecated will be removed in Babel 8 */
    blacklist?: NodeType[];
    shouldSkip?: (node: NodePath) => boolean;
} & Visitor<S>;

declare class Scope {
    /**
     * This searches the current "scope" and collects all references/bindings
     * within.
     */
    constructor(path: NodePath, parentScope?: Scope);
    uid: number;
    path: NodePath;
    block: Node$2;
    labels: Map<string, NodePath<LabeledStatement$1>>;
    parentBlock: Node$2;
    parent: Scope;
    hub: HubInterface;
    bindings: { [name: string]: Binding };
    references: { [name: string]: true };
    globals: { [name: string]: Identifier$1 | JSXIdentifier$1 };
    uids: { [name: string]: boolean };
    data: Record<string | symbol, unknown>;
    crawling: boolean;

    static globals: string[];
    /** Variables available in current context. */
    static contextVariables: string[];

    /** Traverse node with current scope and path. */
    traverse<S>(node: Node$2 | Node$2[], opts: TraverseOptions<S>, state: S): void;
    traverse(node: Node$2 | Node$2[], opts?: TraverseOptions, state?: any): void;

    /** Generate a unique identifier and add it to the current scope. */
    generateDeclaredUidIdentifier(name?: string): Identifier$1;

    /** Generate a unique identifier. */
    generateUidIdentifier(name?: string): Identifier$1;

    /** Generate a unique `_id1` binding. */
    generateUid(name?: string): string;

    /** Generate a unique identifier based on a node. */
    generateUidIdentifierBasedOnNode(parent: Node$2, defaultName?: string): Identifier$1;

    /**
     * Determine whether evaluating the specific input `node` is a consequenceless reference. ie.
     * evaluating it wont result in potentially arbitrary code from being ran. The following are
     * whitelisted and determined not to cause side effects:
     *
     *  - `this` expressions
     *  - `super` expressions
     *  - Bound identifiers
     */
    isStatic(node: Node$2): boolean;

    /** Possibly generate a memoised identifier if it is not static and has consequences. */
    maybeGenerateMemoised(node: Node$2, dontPush?: boolean): Identifier$1;

    checkBlockScopedCollisions(local: Binding, kind: BindingKind, name: string, id: object): void;

    rename(oldName: string, newName?: string, block?: Node$2): void;

    dump(): void;

    toArray(
        node: Node$2,
        i?: number | boolean,
        arrayLikeIsIterable?: boolean,
    ): ArrayExpression$1 | CallExpression$1 | Identifier$1;

    hasLabel(name: string): boolean;

    getLabel(name: string): NodePath<LabeledStatement$1> | undefined;

    registerLabel(path: NodePath<LabeledStatement$1>): void;

    registerDeclaration(path: NodePath): void;

    buildUndefinedNode(): UnaryExpression$1;

    registerConstantViolation(path: NodePath): void;

    registerBinding(kind: BindingKind, path: NodePath, bindingPath?: NodePath): void;

    addGlobal(node: Identifier$1 | JSXIdentifier$1): void;

    hasUid(name: string): boolean;

    hasGlobal(name: string): boolean;

    hasReference(name: string): boolean;

    isPure(node: Node$2, constantsOnly?: boolean): boolean;

    /**
     * Set some arbitrary data on the current scope.
     */
    setData(key: string, val: any): any;

    /**
     * Recursively walk up scope tree looking for the data `key`.
     */
    getData(key: string): any;

    /**
     * Recursively walk up scope tree looking for the data `key` and if it exists,
     * remove it.
     */
    removeData(key: string): void;

    crawl(): void;

    push(opts: {
        id: LVal$1;
        init?: Expression$1;
        unique?: boolean;
        _blockHoist?: number | undefined;
        kind?: "var" | "let" | "const";
    }): void;

    /** Walk up to the top of the scope tree and get the `Program`. */
    getProgramParent(): Scope;

    /** Walk up the scope tree until we hit either a Function or return null. */
    getFunctionParent(): Scope | null;

    /**
     * Walk up the scope tree until we hit either a BlockStatement/Loop/Program/Function/Switch or reach the
     * very top and hit Program.
     */
    getBlockParent(): Scope;

    /**
     * Walk up from a pattern scope (function param initializer) until we hit a non-pattern scope,
     * then returns its block parent
     * @returns An ancestry scope whose path is a block parent
     */
    getPatternParent(): Scope;

    /** Walks the scope tree and gathers **all** bindings. */
    getAllBindings(): Record<string, Binding>;

    /** Walks the scope tree and gathers all declarations of `kind`. */
    getAllBindingsOfKind(...kinds: string[]): Record<string, Binding>;

    bindingIdentifierEquals(name: string, node: Node$2): boolean;

    getBinding(name: string): Binding | undefined;

    getOwnBinding(name: string): Binding | undefined;

    getBindingIdentifier(name: string): Identifier$1;

    getOwnBindingIdentifier(name: string): Identifier$1;

    hasOwnBinding(name: string): boolean;

    hasBinding(
        name: string,
        optsOrNoGlobals?:
            | boolean
            | {
                noGlobals?: boolean;
                noUids?: boolean;
            },
    ): boolean;

    parentHasBinding(
        name: string,
        opts?: {
            noGlobals?: boolean;
            noUids?: boolean;
        },
    ): boolean;

    /** Move a binding of `name` to another `scope`. */
    moveBindingTo(name: string, scope: Scope): void;

    removeOwnBinding(name: string): void;

    removeBinding(name: string): void;
}

type BindingKind = "var" | "let" | "const" | "module" | "hoisted" | "param" | "local" | "unknown";

/**
 * This class is responsible for a binding inside of a scope.
 *
 * It tracks the following:
 *
 *  * Node path.
 *  * Amount of times referenced by other nodes.
 *  * Paths to nodes that reassign or modify this binding.
 *  * The kind of binding. (Is it a parameter, declaration etc)
 */
declare class Binding {
    constructor(opts: { identifier: Identifier$1; scope: Scope; path: NodePath; kind: BindingKind });
    identifier: Identifier$1;
    scope: Scope;
    path: NodePath;
    kind: BindingKind;
    referenced: boolean;
    references: number;
    referencePaths: NodePath[];
    constant: boolean;
    constantViolations: NodePath[];
    hasDeoptedValue: boolean;
    hasValue: boolean;
    value: any;

    deopValue(): void;
    setValue(value: any): void;
    clearValue(): void;

    /** Register a constant violation with the provided `path`. */
    reassign(path: NodePath): void;
    /** Increment the amount of references to this binding. */
    reference(path: NodePath): void;
    /** Decrement the amount of references to this binding. */
    dereference(): void;
}

type Visitor<S = unknown> =
    & VisitNodeObject<S, Node$2>
    & {
        [N in Node$2 as N["type"]]?: VisitNode<S, N extends { type: N["type"] } ? N : never>;
    }
    & {
        [K in keyof Aliases]?: VisitNode<S, Aliases[K]>;
    }
    & {
        [K in keyof VirtualTypeAliases]?: VisitNode<S, VirtualTypeAliases[K]>;
    }
    & {
        // Babel supports `NodeTypesWithoutComment | NodeTypesWithoutComment | ... ` but it is
        // too complex for TS. So we type it as a general visitor only if the key contains `|`
        // this is good enough for non-visitor traverse options e.g. `noScope`
        [k: `${string}|${string}`]: VisitNode<S, Node$2>;
    };

type VisitNode<S, P extends Node$2> = VisitNodeFunction<S, P> | VisitNodeObject<S, P>;

type VisitNodeFunction<S, P extends Node$2> = (this: S, path: NodePath<P>, state: S) => void;

type NodeType = Node$2["type"] | keyof Aliases;

interface VisitNodeObject<S, P extends Node$2> {
    enter?: VisitNodeFunction<S, P>;
    exit?: VisitNodeFunction<S, P>;
}

type NodeKeyOfArrays<T extends Node$2> = {
    [P in keyof T]-?: T[P] extends Array<Node$2 | null | undefined> ? P : never;
}[keyof T];

type NodePaths<T extends Node$2 | readonly Node$2[]> = T extends readonly Node$2[]
    ? { -readonly [K in keyof T]: NodePath<Extract<T[K], Node$2>> }
    : T extends Node$2 ? [NodePath<T>]
    : never;

type NodeListType<N, K extends keyof N> = N[K] extends Array<infer P> ? (P extends Node$2 ? P : never) : never;

type NodesInsertionParam<T extends Node$2> = T | readonly T[] | [T, ...T[]];

declare class NodePath<T = Node$2> {
    constructor(hub: HubInterface, parent: Node$2);
    parent: Node$2;
    hub: Hub;
    data: Record<string | symbol, unknown>;
    context: TraversalContext;
    scope: Scope;
    contexts: TraversalContext[];
    state: any;
    opts: any; // exploded TraverseOptions
    skipKeys: Record<string, boolean> | null;
    parentPath: T extends Program$1 ? null : NodePath;
    container: Node$2 | Node$2[] | null;
    listKey: string | null;
    key: string | number | null;
    node: T;
    type: T extends Node$2 ? T["type"] : T extends null | undefined ? undefined : Node$2["type"] | undefined;
    shouldSkip: boolean;
    shouldStop: boolean;
    removed: boolean;
    inList: boolean;
    parentKey: string;
    typeAnnotation: object;

    static get<C extends Node$2, K extends keyof C>(opts: {
        hub?: HubInterface;
        parentPath: NodePath | null;
        parent: Node$2;
        container: C;
        key: K;
    }): NodePath<C[K]>;
    static get<C extends Node$2, L extends NodeKeyOfArrays<C>>(opts: {
        hub?: HubInterface;
        parentPath: NodePath | null;
        parent: Node$2;
        container: C;
        listKey: L;
        key: number;
    }): C[L] extends Array<Node$2 | null | undefined> ? NodePath<C[L][number]> : never;

    getScope(scope: Scope): Scope;

    setData(key: string | symbol, val: any): any;

    getData(key: string | symbol, def?: any): any;

    hasNode(): this is NodePath<Exclude<T, null | undefined>>;

    buildCodeFrameError(msg: string, Error?: ErrorConstructor): Error;

    traverse<T>(visitor: TraverseOptions<T>, state: T): void;
    traverse(visitor: TraverseOptions): void;

    set(key: string, node: any): void;

    getPathLocation(): string;

    // Example: https://github.com/babel/babel/blob/63204ae51e020d84a5b246312f5eeb4d981ab952/packages/babel-traverse/src/path/modification.js#L83
    debug(buildMessage: () => string): void;

    // #region ------------------------- ancestry -------------------------
    /**
     * Starting at the parent path of the current `NodePath` and going up the
     * tree, return the first `NodePath` that causes the provided `callback`
     * to return a truthy value, or `null` if the `callback` never returns a
     * truthy value.
     */
    findParent(callback: (path: NodePath) => boolean): NodePath | null;

    /**
     * Starting at current `NodePath` and going up the tree, return the first
     * `NodePath` that causes the provided `callback` to return a truthy value,
     * or `null` if the `callback` never returns a truthy value.
     */
    find(callback: (path: NodePath) => boolean): NodePath | null;

    /** Get the parent function of the current path. */
    getFunctionParent(): NodePath<Function> | null;

    /** Walk up the tree until we hit a parent node path in a list. */
    getStatementParent(): NodePath<Statement$1> | null;

    /**
     * Get the deepest common ancestor and then from it, get the earliest relationship path
     * to that ancestor.
     *
     * Earliest is defined as being "before" all the other nodes in terms of list container
     * position and visiting key.
     */
    getEarliestCommonAncestorFrom(paths: NodePath[]): NodePath;

    /** Get the earliest path in the tree where the provided `paths` intersect. */
    getDeepestCommonAncestorFrom(
        paths: NodePath[],
        filter?: (deepest: Node$2, i: number, ancestries: NodePath[][]) => NodePath,
    ): NodePath;

    /**
     * Build an array of node paths containing the entire ancestry of the current node path.
     *
     * NOTE: The current node path is included in this.
     */
    getAncestry(): [this, ...NodePath[]];

    /**
     * A helper to find if `this` path is an ancestor of `maybeDescendant`
     */
    isAncestor(maybeDescendant: NodePath): boolean;

    /**
     * A helper to find if `this` path is a descendant of `maybeAncestor`
     */
    isDescendant(maybeAncestor: NodePath): boolean;

    inType(...candidateTypes: string[]): boolean;
    // #endregion

    // #region ------------------------- inference -------------------------
    /** Infer the type of the current `NodePath`. */
    getTypeAnnotation(): FlowType$1 | TSType$1;

    isBaseType(baseName: string, soft?: boolean): boolean;

    couldBeBaseType(name: string): boolean;

    baseTypeStrictlyMatches(rightArg: NodePath): boolean;

    isGenericType(genericName: string): boolean;
    // #endregion

    // #region ------------------------- replacement -------------------------
    /**
     * Replace a node with an array of multiple. This method performs the following steps:
     *
     *  - Inherit the comments of first provided node with that of the current node.
     *  - Insert the provided nodes after the current node.
     *  - Remove the current node.
     */
    replaceWithMultiple<Nodes extends Node$2 | readonly Node$2[] | [Node$2, ...Node$2[]]>(nodes: Nodes): NodePaths<Nodes>;

    /**
     * Parse a string as an expression and replace the current node with the result.
     *
     * NOTE: This is typically not a good idea to use. Building source strings when
     * transforming ASTs is an antipattern and SHOULD NOT be encouraged. Even if it's
     * easier to use, your transforms will be extremely brittle.
     */
    replaceWithSourceString(replacement: string): [NodePath];

    /** Replace the current node with another. */
    replaceWith<R extends Node$2>(replacementPath: R | NodePath<R>): [NodePath<R>];
    replaceWith<R extends NodePath>(replacementPath: R): [R];

    /**
     * This method takes an array of statements nodes and then explodes it
     * into expressions. This method retains completion records which is
     * extremely important to retain original semantics.
     */
    replaceExpressionWithStatements(nodes: Statement$1[]): NodePaths<Expression$1 | Statement$1>;

    replaceInline<Nodes extends Node$2 | readonly Node$2[] | [Node$2, ...Node$2[]]>(nodes: Nodes): NodePaths<Nodes>;
    // #endregion

    // #region ------------------------- evaluation -------------------------
    /**
     * Walk the input `node` and statically evaluate if it's truthy.
     *
     * Returning `true` when we're sure that the expression will evaluate to a
     * truthy value, `false` if we're sure that it will evaluate to a falsy
     * value and `undefined` if we aren't sure. Because of this please do not
     * rely on coercion when using this method and check with === if it's false.
     */
    evaluateTruthy(): boolean | undefined;

    /**
     * Walk the input `node` and statically evaluate it.
     *
     * Returns an object in the form `{ confident, value, deopt }`. `confident`
     * indicates whether or not we had to drop out of evaluating the expression
     * because of hitting an unknown node that we couldn't confidently find the
     * value of, in which case `deopt` is the path of said node.
     *
     * Example:
     *
     *   t.evaluate(parse("5 + 5")) // { confident: true, value: 10 }
     *   t.evaluate(parse("!true")) // { confident: true, value: false }
     *   t.evaluate(parse("foo + foo")) // { confident: false, value: undefined, deopt: NodePath }
     */
    evaluate(): {
        confident: boolean;
        value: any;
        deopt?: NodePath;
    };
    // #endregion

    // #region ------------------------- introspection -------------------------
    /**
     * Match the current node if it matches the provided `pattern`.
     *
     * For example, given the match `React.createClass` it would match the
     * parsed nodes of `React.createClass` and `React["createClass"]`.
     */
    matchesPattern(pattern: string, allowPartial?: boolean): boolean;

    /**
     * Check whether we have the input `key`. If the `key` references an array then we check
     * if the array has any items, otherwise we just check if it's falsy.
     */
    has(key: string): boolean;
    // has(key: keyof T): boolean;

    isStatic(): boolean;

    /** Alias of `has`. */
    is(key: string): boolean;
    // is(key: keyof T): boolean;

    /** Opposite of `has`. */
    isnt(key: string): boolean;
    // isnt(key: keyof T): boolean;

    /** Check whether the path node `key` strict equals `value`. */
    equals(key: string, value: any): boolean;
    // equals(key: keyof T, value: any): boolean;

    /**
     * Check the type against our stored internal type of the node. This is handy when a node has
     * been removed yet we still internally know the type and need it to calculate node replacement.
     */
    isNodeType(type: string): boolean;

    /**
     * This checks whether or not we're in one of the following positions:
     *
     *   for (KEY in right);
     *   for (KEY;;);
     *
     * This is because these spots allow VariableDeclarations AND normal expressions so we need
     * to tell the path replacement that it's ok to replace this with an expression.
     */
    canHaveVariableDeclarationOrExpression(): boolean;

    /**
     * This checks whether we are swapping an arrow function's body between an
     * expression and a block statement (or vice versa).
     *
     * This is because arrow functions may implicitly return an expression, which
     * is the same as containing a block statement.
     */
    canSwapBetweenExpressionAndStatement(replacement: Node$2): boolean;

    /** Check whether the current path references a completion record */
    isCompletionRecord(allowInsideFunction?: boolean): boolean;

    /**
     * Check whether or not the current `key` allows either a single statement or block statement
     * so we can explode it if necessary.
     */
    isStatementOrBlock(): boolean;

    /** Check if the currently assigned path references the `importName` of `moduleSource`. */
    referencesImport(moduleSource: string, importName: string): boolean;

    /** Get the source code associated with this node. */
    getSource(): string;

    /** Check if the current path will maybe execute before another path */
    willIMaybeExecuteBefore(target: NodePath): boolean;

    resolve(dangerous?: boolean, resolved?: NodePath[]): NodePath;

    isConstantExpression(): boolean;

    isInStrictMode(): boolean;
    // #endregion

    // #region ------------------------- context -------------------------
    call(key: string): boolean;

    isDenylisted(): boolean;

    /** @deprecated will be removed in Babel 8 */
    isBlacklisted(): boolean;

    visit(): boolean;

    skip(): void;

    skipKey(key: string): void;

    stop(): void;

    setScope(): void;

    setContext(context?: TraversalContext): this;

    /**
     * Here we resync the node paths `key` and `container`. If they've changed according
     * to what we have stored internally then we attempt to resync by crawling and looking
     * for the new values.
     */
    resync(): void;

    popContext(): void;

    pushContext(context: TraversalContext): void;

    requeue(pathToQueue?: NodePath): void;
    // #endregion

    // #region ------------------------- removal -------------------------
    remove(): void;
    // #endregion

    // #region ------------------------- conversion -------------------------
    toComputedKey(): PrivateName$1 | Expression$1;

    /** @deprecated Use `arrowFunctionToExpression` */
    arrowFunctionToShadowed(): void;

    /**
     * Given an arbitrary function, process its content as if it were an arrow function, moving references
     * to "this", "arguments", "super", and such into the function's parent scope. This method is useful if
     * you have wrapped some set of items in an IIFE or other function, but want "this", "arguments", and super"
     * to continue behaving as expected.
     */
    unwrapFunctionEnvironment(): void;

    /**
     * Convert a given arrow function into a normal ES5 function expression.
     */
    arrowFunctionToExpression({
        allowInsertArrow,
        allowInsertArrowWithRest,
        /** @deprecated Use `noNewArrows` instead */
        specCompliant,
        noNewArrows,
    }?: {
        allowInsertArrow?: boolean;
        allowInsertArrowWithRest?: boolean;
        specCompliant?: boolean;
        noNewArrows?: boolean;
    }): NodePath<Exclude<Function, Method | ArrowFunctionExpression$1> | CallExpression$1>;

    ensureBlock(
        this: NodePath<Loop | WithStatement$1 | Function | LabeledStatement$1 | CatchClause$1>,
    ): asserts this is NodePath<
        T & {
            body: BlockStatement$1;
        }
    >;
    // #endregion

    // #region ------------------------- modification -------------------------
    /** Insert the provided nodes before the current one. */
    insertBefore<Nodes extends NodesInsertionParam<Node$2>>(nodes: Nodes): NodePaths<Nodes>;

    /**
     * Insert the provided nodes after the current one. When inserting nodes after an
     * expression, ensure that the completion record is correct by pushing the current node.
     */
    insertAfter<Nodes extends NodesInsertionParam<Node$2>>(nodes: Nodes): NodePaths<Nodes>;

    /** Update all sibling node paths after `fromIndex` by `incrementBy`. */
    updateSiblingKeys(fromIndex: number, incrementBy: number): void;

    /**
     * Insert child nodes at the start of the current node.
     * @param listKey - The key at which the child nodes are stored (usually body).
     * @param nodes - the nodes to insert.
     */
    unshiftContainer<
        T extends Node$2,
        K extends NodeKeyOfArrays<T>,
        Nodes extends NodesInsertionParam<NodeListType<T, K>>,
    >(this: NodePath<T>, listKey: K, nodes: Nodes): NodePaths<Nodes>;

    /**
     * Insert child nodes at the end of the current node.
     * @param listKey - The key at which the child nodes are stored (usually body).
     * @param nodes - the nodes to insert.
     */
    pushContainer<T extends Node$2, K extends NodeKeyOfArrays<T>, Nodes extends NodesInsertionParam<NodeListType<T, K>>>(
        this: NodePath<T>,
        listKey: K,
        nodes: Nodes,
    ): NodePaths<Nodes>;

    /** Hoist the current node to the highest scope possible and return a UID referencing it. */
    hoist(scope: Scope): void;
    // #endregion

    // #region ------------------------- family -------------------------
    getOpposite(): NodePath | null;

    getCompletionRecords(): NodePath[];

    getSibling(key: string | number): NodePath;
    getPrevSibling(): NodePath;
    getNextSibling(): NodePath;
    getAllPrevSiblings(): NodePath[];
    getAllNextSiblings(): NodePath[];

    get<K extends keyof T>(key: K, context?: boolean | TraversalContext): NodePathResult<T[K]>;
    get(key: string, context?: boolean | TraversalContext): NodePath | NodePath[];

    getBindingIdentifiers(duplicates: true): Record<string, Identifier$1[]>;
    getBindingIdentifiers(duplicates?: false): Record<string, Identifier$1>;
    getBindingIdentifiers(duplicates?: boolean): Record<string, Identifier$1 | Identifier$1[]>;

    getOuterBindingIdentifiers(duplicates: true): Record<string, Identifier$1[]>;
    getOuterBindingIdentifiers(duplicates?: false): Record<string, Identifier$1>;
    getOuterBindingIdentifiers(duplicates?: boolean): Record<string, Identifier$1 | Identifier$1[]>;

    getBindingIdentifierPaths(duplicates: true, outerOnly?: boolean): Record<string, Array<NodePath<Identifier$1>>>;
    getBindingIdentifierPaths(duplicates?: false, outerOnly?: boolean): Record<string, NodePath<Identifier$1>>;
    getBindingIdentifierPaths(
        duplicates?: boolean,
        outerOnly?: boolean,
    ): Record<string, NodePath<Identifier$1> | Array<NodePath<Identifier$1>>>;

    getOuterBindingIdentifierPaths(duplicates: true): Record<string, Array<NodePath<Identifier$1>>>;
    getOuterBindingIdentifierPaths(duplicates?: false): Record<string, NodePath<Identifier$1>>;
    getOuterBindingIdentifierPaths(
        duplicates?: boolean,
        outerOnly?: boolean,
    ): Record<string, NodePath<Identifier$1> | Array<NodePath<Identifier$1>>>;
    // #endregion

    // #region ------------------------- comments -------------------------
    /** Share comments amongst siblings. */
    shareCommentsWithSiblings(): void;

    addComment(type: CommentTypeShorthand, content: string, line?: boolean): void;

    /** Give node `comments` of the specified `type`. */
    addComments(type: CommentTypeShorthand, comments: Comment$1[]): void;
    // #endregion

    // #region ------------------------- isXXX -------------------------
    isAccessor(opts?: object): this is NodePath<Accessor>;
    isAnyTypeAnnotation(opts?: object): this is NodePath<AnyTypeAnnotation$1>;
    isArgumentPlaceholder(opts?: object): this is NodePath<ArgumentPlaceholder$1>;
    isArrayExpression(opts?: object): this is NodePath<ArrayExpression$1>;
    isArrayPattern(opts?: object): this is NodePath<ArrayPattern$1>;
    isArrayTypeAnnotation(opts?: object): this is NodePath<ArrayTypeAnnotation$1>;
    isArrowFunctionExpression(opts?: object): this is NodePath<ArrowFunctionExpression$1>;
    isAssignmentExpression(opts?: object): this is NodePath<AssignmentExpression$1>;
    isAssignmentPattern(opts?: object): this is NodePath<AssignmentPattern$1>;
    isAwaitExpression(opts?: object): this is NodePath<AwaitExpression$1>;
    isBigIntLiteral(opts?: object): this is NodePath<BigIntLiteral$1>;
    isBinary(opts?: object): this is NodePath<Binary>;
    isBinaryExpression(opts?: object): this is NodePath<BinaryExpression$1>;
    isBindExpression(opts?: object): this is NodePath<BindExpression$1>;
    isBlock(opts?: object): this is NodePath<Block>;
    isBlockParent(opts?: object): this is NodePath<BlockParent>;
    isBlockStatement(opts?: object): this is NodePath<BlockStatement$1>;
    isBooleanLiteral(opts?: object): this is NodePath<BooleanLiteral$1>;
    isBooleanLiteralTypeAnnotation(opts?: object): this is NodePath<BooleanLiteralTypeAnnotation$1>;
    isBooleanTypeAnnotation(opts?: object): this is NodePath<BooleanTypeAnnotation$1>;
    isBreakStatement(opts?: object): this is NodePath<BreakStatement$1>;
    isCallExpression(opts?: object): this is NodePath<CallExpression$1>;
    isCatchClause(opts?: object): this is NodePath<CatchClause$1>;
    isClass(opts?: object): this is NodePath<Class>;
    isClassAccessorProperty(opts?: object): this is NodePath<ClassAccessorProperty$1>;
    isClassBody(opts?: object): this is NodePath<ClassBody$1>;
    isClassDeclaration(opts?: object): this is NodePath<ClassDeclaration$1>;
    isClassExpression(opts?: object): this is NodePath<ClassExpression$1>;
    isClassImplements(opts?: object): this is NodePath<ClassImplements$1>;
    isClassMethod(opts?: object): this is NodePath<ClassMethod$1>;
    isClassPrivateMethod(opts?: object): this is NodePath<ClassPrivateMethod$1>;
    isClassPrivateProperty(opts?: object): this is NodePath<ClassPrivateProperty$1>;
    isClassProperty(opts?: object): this is NodePath<ClassProperty$1>;
    isCompletionStatement(opts?: object): this is NodePath<CompletionStatement>;
    isConditional(opts?: object): this is NodePath<Conditional>;
    isConditionalExpression(opts?: object): this is NodePath<ConditionalExpression$1>;
    isContinueStatement(opts?: object): this is NodePath<ContinueStatement$1>;
    isDebuggerStatement(opts?: object): this is NodePath<DebuggerStatement$1>;
    isDecimalLiteral(opts?: object): this is NodePath<DecimalLiteral$1>;
    isDeclaration(opts?: object): this is NodePath<Declaration$1>;
    isDeclareClass(opts?: object): this is NodePath<DeclareClass$1>;
    isDeclareExportAllDeclaration(opts?: object): this is NodePath<DeclareExportAllDeclaration$1>;
    isDeclareExportDeclaration(opts?: object): this is NodePath<DeclareExportDeclaration$1>;
    isDeclareFunction(opts?: object): this is NodePath<DeclareFunction$1>;
    isDeclareInterface(opts?: object): this is NodePath<DeclareInterface$1>;
    isDeclareModule(opts?: object): this is NodePath<DeclareModule$1>;
    isDeclareModuleExports(opts?: object): this is NodePath<DeclareModuleExports$1>;
    isDeclareOpaqueType(opts?: object): this is NodePath<DeclareOpaqueType$1>;
    isDeclareTypeAlias(opts?: object): this is NodePath<DeclareTypeAlias$1>;
    isDeclareVariable(opts?: object): this is NodePath<DeclareVariable$1>;
    isDeclaredPredicate(opts?: object): this is NodePath<DeclaredPredicate$1>;
    isDecorator(opts?: object): this is NodePath<Decorator$1>;
    isDirective(opts?: object): this is NodePath<Directive$1>;
    isDirectiveLiteral(opts?: object): this is NodePath<DirectiveLiteral$1>;
    isDoExpression(opts?: object): this is NodePath<DoExpression$1>;
    isDoWhileStatement(opts?: object): this is NodePath<DoWhileStatement$1>;
    isEmptyStatement(opts?: object): this is NodePath<EmptyStatement$1>;
    isEmptyTypeAnnotation(opts?: object): this is NodePath<EmptyTypeAnnotation$1>;
    isEnumBody(opts?: object): this is NodePath<EnumBody>;
    isEnumBooleanBody(opts?: object): this is NodePath<EnumBooleanBody$1>;
    isEnumBooleanMember(opts?: object): this is NodePath<EnumBooleanMember$1>;
    isEnumDeclaration(opts?: object): this is NodePath<EnumDeclaration$1>;
    isEnumDefaultedMember(opts?: object): this is NodePath<EnumDefaultedMember$1>;
    isEnumMember(opts?: object): this is NodePath<EnumMember>;
    isEnumNumberBody(opts?: object): this is NodePath<EnumNumberBody$1>;
    isEnumNumberMember(opts?: object): this is NodePath<EnumNumberMember$1>;
    isEnumStringBody(opts?: object): this is NodePath<EnumStringBody$1>;
    isEnumStringMember(opts?: object): this is NodePath<EnumStringMember$1>;
    isEnumSymbolBody(opts?: object): this is NodePath<EnumSymbolBody$1>;
    isExistsTypeAnnotation(opts?: object): this is NodePath<ExistsTypeAnnotation$1>;
    isExportAllDeclaration(opts?: object): this is NodePath<ExportAllDeclaration$1>;
    isExportDeclaration(opts?: object): this is NodePath<ExportDeclaration>;
    isExportDefaultDeclaration(opts?: object): this is NodePath<ExportDefaultDeclaration$1>;
    isExportDefaultSpecifier(opts?: object): this is NodePath<ExportDefaultSpecifier$1>;
    isExportNamedDeclaration(opts?: object): this is NodePath<ExportNamedDeclaration$1>;
    isExportNamespaceSpecifier(opts?: object): this is NodePath<ExportNamespaceSpecifier$1>;
    isExportSpecifier(opts?: object): this is NodePath<ExportSpecifier$1>;
    isExpression(opts?: object): this is NodePath<Expression$1>;
    isExpressionStatement(opts?: object): this is NodePath<ExpressionStatement$1>;
    isExpressionWrapper(opts?: object): this is NodePath<ExpressionWrapper>;
    isFile(opts?: object): this is NodePath<File$1>;
    isFlow(opts?: object): this is NodePath<Flow$1>;
    isFlowBaseAnnotation(opts?: object): this is NodePath<FlowBaseAnnotation>;
    isFlowDeclaration(opts?: object): this is NodePath<FlowDeclaration>;
    isFlowPredicate(opts?: object): this is NodePath<FlowPredicate>;
    isFlowType(opts?: object): this is NodePath<FlowType$1>;
    isFor(opts?: object): this is NodePath<For>;
    isForInStatement(opts?: object): this is NodePath<ForInStatement$1>;
    isForOfStatement(opts?: object): this is NodePath<ForOfStatement$1>;
    isForStatement(opts?: object): this is NodePath<ForStatement$1>;
    isForXStatement(opts?: object): this is NodePath<ForXStatement>;
    isFunction(opts?: object): this is NodePath<Function>;
    isFunctionDeclaration(opts?: object): this is NodePath<FunctionDeclaration$1>;
    isFunctionExpression(opts?: object): this is NodePath<FunctionExpression$1>;
    isFunctionParent(opts?: object): this is NodePath<FunctionParent>;
    isFunctionTypeAnnotation(opts?: object): this is NodePath<FunctionTypeAnnotation$1>;
    isFunctionTypeParam(opts?: object): this is NodePath<FunctionTypeParam$1>;
    isGenericTypeAnnotation(opts?: object): this is NodePath<GenericTypeAnnotation$1>;
    isIdentifier(opts?: object): this is NodePath<Identifier$1>;
    isIfStatement(opts?: object): this is NodePath<IfStatement$1>;
    isImmutable(opts?: object): this is NodePath<Immutable>;
    isImport(opts?: object): this is NodePath<Import$1>;
    isImportAttribute(opts?: object): this is NodePath<ImportAttribute$1>;
    isImportDeclaration(opts?: object): this is NodePath<ImportDeclaration$1>;
    isImportDefaultSpecifier(opts?: object): this is NodePath<ImportDefaultSpecifier$1>;
    isImportNamespaceSpecifier(opts?: object): this is NodePath<ImportNamespaceSpecifier$1>;
    isImportSpecifier(opts?: object): this is NodePath<ImportSpecifier$1>;
    isIndexedAccessType(opts?: object): this is NodePath<IndexedAccessType$1>;
    isInferredPredicate(opts?: object): this is NodePath<InferredPredicate$1>;
    isInterfaceDeclaration(opts?: object): this is NodePath<InterfaceDeclaration$1>;
    isInterfaceExtends(opts?: object): this is NodePath<InterfaceExtends$1>;
    isInterfaceTypeAnnotation(opts?: object): this is NodePath<InterfaceTypeAnnotation$1>;
    isInterpreterDirective(opts?: object): this is NodePath<InterpreterDirective$1>;
    isIntersectionTypeAnnotation(opts?: object): this is NodePath<IntersectionTypeAnnotation$1>;
    isJSX(opts?: object): this is NodePath<JSX>;
    isJSXAttribute(opts?: object): this is NodePath<JSXAttribute$1>;
    isJSXClosingElement(opts?: object): this is NodePath<JSXClosingElement$1>;
    isJSXClosingFragment(opts?: object): this is NodePath<JSXClosingFragment$1>;
    isJSXElement(opts?: object): this is NodePath<JSXElement$1>;
    isJSXEmptyExpression(opts?: object): this is NodePath<JSXEmptyExpression$1>;
    isJSXExpressionContainer(opts?: object): this is NodePath<JSXExpressionContainer$1>;
    isJSXFragment(opts?: object): this is NodePath<JSXFragment$1>;
    isJSXIdentifier(opts?: object): this is NodePath<JSXIdentifier$1>;
    isJSXMemberExpression(opts?: object): this is NodePath<JSXMemberExpression$1>;
    isJSXNamespacedName(opts?: object): this is NodePath<JSXNamespacedName$1>;
    isJSXOpeningElement(opts?: object): this is NodePath<JSXOpeningElement$1>;
    isJSXOpeningFragment(opts?: object): this is NodePath<JSXOpeningFragment$1>;
    isJSXSpreadAttribute(opts?: object): this is NodePath<JSXSpreadAttribute$1>;
    isJSXSpreadChild(opts?: object): this is NodePath<JSXSpreadChild$1>;
    isJSXText(opts?: object): this is NodePath<JSXText$1>;
    isLVal(opts?: object): this is NodePath<LVal$1>;
    isLabeledStatement(opts?: object): this is NodePath<LabeledStatement$1>;
    isLiteral(opts?: object): this is NodePath<Literal>;
    isLogicalExpression(opts?: object): this is NodePath<LogicalExpression$1>;
    isLoop(opts?: object): this is NodePath<Loop>;
    isMemberExpression(opts?: object): this is NodePath<MemberExpression$1>;
    isMetaProperty(opts?: object): this is NodePath<MetaProperty$1>;
    isMethod(opts?: object): this is NodePath<Method>;
    isMiscellaneous(opts?: object): this is NodePath<Miscellaneous>;
    isMixedTypeAnnotation(opts?: object): this is NodePath<MixedTypeAnnotation$1>;
    isModuleDeclaration(opts?: object): this is NodePath<ModuleDeclaration>;
    isModuleExpression(opts?: object): this is NodePath<ModuleExpression$1>;
    isModuleSpecifier(opts?: object): this is NodePath<ModuleSpecifier>;
    isNewExpression(opts?: object): this is NodePath<NewExpression$1>;
    isNoop(opts?: object): this is NodePath<Noop$1>;
    isNullLiteral(opts?: object): this is NodePath<NullLiteral$1>;
    isNullLiteralTypeAnnotation(opts?: object): this is NodePath<NullLiteralTypeAnnotation$1>;
    isNullableTypeAnnotation(opts?: object): this is NodePath<NullableTypeAnnotation$1>;

    /** @deprecated Use `isNumericLiteral` */
    isNumberLiteral(opts?: object): this is NodePath<NumberLiteral$1>;
    isNumberLiteralTypeAnnotation(opts?: object): this is NodePath<NumberLiteralTypeAnnotation$1>;
    isNumberTypeAnnotation(opts?: object): this is NodePath<NumberTypeAnnotation$1>;
    isNumericLiteral(opts?: object): this is NodePath<NumericLiteral$1>;
    isObjectExpression(opts?: object): this is NodePath<ObjectExpression$1>;
    isObjectMember(opts?: object): this is NodePath<ObjectMember>;
    isObjectMethod(opts?: object): this is NodePath<ObjectMethod$1>;
    isObjectPattern(opts?: object): this is NodePath<ObjectPattern$1>;
    isObjectProperty(opts?: object): this is NodePath<ObjectProperty$1>;
    isObjectTypeAnnotation(opts?: object): this is NodePath<ObjectTypeAnnotation$1>;
    isObjectTypeCallProperty(opts?: object): this is NodePath<ObjectTypeCallProperty$1>;
    isObjectTypeIndexer(opts?: object): this is NodePath<ObjectTypeIndexer$1>;
    isObjectTypeInternalSlot(opts?: object): this is NodePath<ObjectTypeInternalSlot$1>;
    isObjectTypeProperty(opts?: object): this is NodePath<ObjectTypeProperty$1>;
    isObjectTypeSpreadProperty(opts?: object): this is NodePath<ObjectTypeSpreadProperty$1>;
    isOpaqueType(opts?: object): this is NodePath<OpaqueType$1>;
    isOptionalCallExpression(opts?: object): this is NodePath<OptionalCallExpression$1>;
    isOptionalIndexedAccessType(opts?: object): this is NodePath<OptionalIndexedAccessType$1>;
    isOptionalMemberExpression(opts?: object): this is NodePath<OptionalMemberExpression$1>;
    isParenthesizedExpression(opts?: object): this is NodePath<ParenthesizedExpression$1>;
    isPattern(opts?: object): this is NodePath<Pattern$1>;
    isPatternLike(opts?: object): this is NodePath<PatternLike$1>;
    isPipelineBareFunction(opts?: object): this is NodePath<PipelineBareFunction$1>;
    isPipelinePrimaryTopicReference(opts?: object): this is NodePath<PipelinePrimaryTopicReference$1>;
    isPipelineTopicExpression(opts?: object): this is NodePath<PipelineTopicExpression$1>;
    isPlaceholder(opts?: object): this is NodePath<Placeholder$1>;
    isPrivate(opts?: object): this is NodePath<Private>;
    isPrivateName(opts?: object): this is NodePath<PrivateName$1>;
    isProgram(opts?: object): this is NodePath<Program$1>;
    isProperty(opts?: object): this is NodePath<Property>;
    isPureish(opts?: object): this is NodePath<Pureish>;
    isQualifiedTypeIdentifier(opts?: object): this is NodePath<QualifiedTypeIdentifier$1>;
    isRecordExpression(opts?: object): this is NodePath<RecordExpression$1>;
    isRegExpLiteral(opts?: object): this is NodePath<RegExpLiteral$1>;

    /** @deprecated Use `isRegExpLiteral` */
    isRegexLiteral(opts?: object): this is NodePath<RegexLiteral$1>;
    isRestElement(opts?: object): this is NodePath<RestElement$1>;

    /** @deprecated Use `isRestElement` */
    isRestProperty(opts?: object): this is NodePath<RestProperty$1>;
    isReturnStatement(opts?: object): this is NodePath<ReturnStatement$1>;
    isScopable(opts?: object): this is NodePath<Scopable>;
    isSequenceExpression(opts?: object): this is NodePath<SequenceExpression$1>;
    isSpreadElement(opts?: object): this is NodePath<SpreadElement$1>;

    /** @deprecated Use `isSpreadElement` */
    isSpreadProperty(opts?: object): this is NodePath<SpreadProperty$1>;
    isStandardized(opts?: object): this is NodePath<Standardized>;
    isStatement(opts?: object): this is NodePath<Statement$1>;
    isStaticBlock(opts?: object): this is NodePath<StaticBlock$1>;
    isStringLiteral(opts?: object): this is NodePath<StringLiteral$1>;
    isStringLiteralTypeAnnotation(opts?: object): this is NodePath<StringLiteralTypeAnnotation$1>;
    isStringTypeAnnotation(opts?: object): this is NodePath<StringTypeAnnotation$1>;
    isSuper(opts?: object): this is NodePath<Super$1>;
    isSwitchCase(opts?: object): this is NodePath<SwitchCase$1>;
    isSwitchStatement(opts?: object): this is NodePath<SwitchStatement$1>;
    isSymbolTypeAnnotation(opts?: object): this is NodePath<SymbolTypeAnnotation$1>;
    isTSAnyKeyword(opts?: object): this is NodePath<TSAnyKeyword$1>;
    isTSArrayType(opts?: object): this is NodePath<TSArrayType$1>;
    isTSAsExpression(opts?: object): this is NodePath<TSAsExpression$1>;
    isTSBaseType(opts?: object): this is NodePath<TSBaseType>;
    isTSBigIntKeyword(opts?: object): this is NodePath<TSBigIntKeyword$1>;
    isTSBooleanKeyword(opts?: object): this is NodePath<TSBooleanKeyword$1>;
    isTSCallSignatureDeclaration(opts?: object): this is NodePath<TSCallSignatureDeclaration$1>;
    isTSConditionalType(opts?: object): this is NodePath<TSConditionalType$1>;
    isTSConstructSignatureDeclaration(opts?: object): this is NodePath<TSConstructSignatureDeclaration$1>;
    isTSConstructorType(opts?: object): this is NodePath<TSConstructorType$1>;
    isTSDeclareFunction(opts?: object): this is NodePath<TSDeclareFunction$1>;
    isTSDeclareMethod(opts?: object): this is NodePath<TSDeclareMethod$1>;
    isTSEntityName(opts?: object): this is NodePath<TSEntityName$1>;
    isTSEnumDeclaration(opts?: object): this is NodePath<TSEnumDeclaration$1>;
    isTSEnumMember(opts?: object): this is NodePath<TSEnumMember$1>;
    isTSExportAssignment(opts?: object): this is NodePath<TSExportAssignment$1>;
    isTSExpressionWithTypeArguments(opts?: object): this is NodePath<TSExpressionWithTypeArguments$1>;
    isTSExternalModuleReference(opts?: object): this is NodePath<TSExternalModuleReference$1>;
    isTSFunctionType(opts?: object): this is NodePath<TSFunctionType$1>;
    isTSImportEqualsDeclaration(opts?: object): this is NodePath<TSImportEqualsDeclaration$1>;
    isTSImportType(opts?: object): this is NodePath<TSImportType$1>;
    isTSIndexSignature(opts?: object): this is NodePath<TSIndexSignature$1>;
    isTSIndexedAccessType(opts?: object): this is NodePath<TSIndexedAccessType$1>;
    isTSInferType(opts?: object): this is NodePath<TSInferType$1>;
    isTSInstantiationExpression(opts?: object): this is NodePath<TSInstantiationExpression$1>;
    isTSInterfaceBody(opts?: object): this is NodePath<TSInterfaceBody$1>;
    isTSInterfaceDeclaration(opts?: object): this is NodePath<TSInterfaceDeclaration$1>;
    isTSIntersectionType(opts?: object): this is NodePath<TSIntersectionType$1>;
    isTSIntrinsicKeyword(opts?: object): this is NodePath<TSIntrinsicKeyword$1>;
    isTSLiteralType(opts?: object): this is NodePath<TSLiteralType$1>;
    isTSMappedType(opts?: object): this is NodePath<TSMappedType$1>;
    isTSMethodSignature(opts?: object): this is NodePath<TSMethodSignature$1>;
    isTSModuleBlock(opts?: object): this is NodePath<TSModuleBlock$1>;
    isTSModuleDeclaration(opts?: object): this is NodePath<TSModuleDeclaration$1>;
    isTSNamedTupleMember(opts?: object): this is NodePath<TSNamedTupleMember$1>;
    isTSNamespaceExportDeclaration(opts?: object): this is NodePath<TSNamespaceExportDeclaration$1>;
    isTSNeverKeyword(opts?: object): this is NodePath<TSNeverKeyword$1>;
    isTSNonNullExpression(opts?: object): this is NodePath<TSNonNullExpression$1>;
    isTSNullKeyword(opts?: object): this is NodePath<TSNullKeyword$1>;
    isTSNumberKeyword(opts?: object): this is NodePath<TSNumberKeyword$1>;
    isTSObjectKeyword(opts?: object): this is NodePath<TSObjectKeyword$1>;
    isTSOptionalType(opts?: object): this is NodePath<TSOptionalType$1>;
    isTSParameterProperty(opts?: object): this is NodePath<TSParameterProperty$1>;
    isTSParenthesizedType(opts?: object): this is NodePath<TSParenthesizedType$1>;
    isTSPropertySignature(opts?: object): this is NodePath<TSPropertySignature$1>;
    isTSQualifiedName(opts?: object): this is NodePath<TSQualifiedName$1>;
    isTSRestType(opts?: object): this is NodePath<TSRestType$1>;
    isTSSatisfiesExpression(opts?: object): this is NodePath<TSSatisfiesExpression$1>;
    isTSStringKeyword(opts?: object): this is NodePath<TSStringKeyword$1>;
    isTSSymbolKeyword(opts?: object): this is NodePath<TSSymbolKeyword$1>;
    isTSThisType(opts?: object): this is NodePath<TSThisType$1>;
    isTSTupleType(opts?: object): this is NodePath<TSTupleType$1>;
    isTSType(opts?: object): this is NodePath<TSType$1>;
    isTSTypeAliasDeclaration(opts?: object): this is NodePath<TSTypeAliasDeclaration$1>;
    isTSTypeAnnotation(opts?: object): this is NodePath<TSTypeAnnotation$1>;
    isTSTypeAssertion(opts?: object): this is NodePath<TSTypeAssertion$1>;
    isTSTypeElement(opts?: object): this is NodePath<TSTypeElement$1>;
    isTSTypeLiteral(opts?: object): this is NodePath<TSTypeLiteral$1>;
    isTSTypeOperator(opts?: object): this is NodePath<TSTypeOperator$1>;
    isTSTypeParameter(opts?: object): this is NodePath<TSTypeParameter$1>;
    isTSTypeParameterDeclaration(opts?: object): this is NodePath<TSTypeParameterDeclaration$1>;
    isTSTypeParameterInstantiation(opts?: object): this is NodePath<TSTypeParameterInstantiation$1>;
    isTSTypePredicate(opts?: object): this is NodePath<TSTypePredicate$1>;
    isTSTypeQuery(opts?: object): this is NodePath<TSTypeQuery$1>;
    isTSTypeReference(opts?: object): this is NodePath<TSTypeReference$1>;
    isTSUndefinedKeyword(opts?: object): this is NodePath<TSUndefinedKeyword$1>;
    isTSUnionType(opts?: object): this is NodePath<TSUnionType$1>;
    isTSUnknownKeyword(opts?: object): this is NodePath<TSUnknownKeyword$1>;
    isTSVoidKeyword(opts?: object): this is NodePath<TSVoidKeyword$1>;
    isTaggedTemplateExpression(opts?: object): this is NodePath<TaggedTemplateExpression$1>;
    isTemplateElement(opts?: object): this is NodePath<TemplateElement$1>;
    isTemplateLiteral(opts?: object): this is NodePath<TemplateLiteral$1>;
    isTerminatorless(opts?: object): this is NodePath<Terminatorless>;
    isThisExpression(opts?: object): this is NodePath<ThisExpression$1>;
    isThisTypeAnnotation(opts?: object): this is NodePath<ThisTypeAnnotation$1>;
    isThrowStatement(opts?: object): this is NodePath<ThrowStatement$1>;
    isTopicReference(opts?: object): this is NodePath<TopicReference$1>;
    isTryStatement(opts?: object): this is NodePath<TryStatement$1>;
    isTupleExpression(opts?: object): this is NodePath<TupleExpression$1>;
    isTupleTypeAnnotation(opts?: object): this is NodePath<TupleTypeAnnotation$1>;
    isTypeAlias(opts?: object): this is NodePath<TypeAlias$1>;
    isTypeAnnotation(opts?: object): this is NodePath<TypeAnnotation$1>;
    isTypeCastExpression(opts?: object): this is NodePath<TypeCastExpression$1>;
    isTypeParameter(opts?: object): this is NodePath<TypeParameter$1>;
    isTypeParameterDeclaration(opts?: object): this is NodePath<TypeParameterDeclaration$1>;
    isTypeParameterInstantiation(opts?: object): this is NodePath<TypeParameterInstantiation$1>;
    isTypeScript(opts?: object): this is NodePath<TypeScript>;
    isTypeofTypeAnnotation(opts?: object): this is NodePath<TypeofTypeAnnotation$1>;
    isUnaryExpression(opts?: object): this is NodePath<UnaryExpression$1>;
    isUnaryLike(opts?: object): this is NodePath<UnaryLike>;
    isUnionTypeAnnotation(opts?: object): this is NodePath<UnionTypeAnnotation$1>;
    isUpdateExpression(opts?: object): this is NodePath<UpdateExpression$1>;
    isUserWhitespacable(opts?: object): this is NodePath<UserWhitespacable>;
    isV8IntrinsicIdentifier(opts?: object): this is NodePath<V8IntrinsicIdentifier$1>;
    isVariableDeclaration(opts?: object): this is NodePath<VariableDeclaration$1>;
    isVariableDeclarator(opts?: object): this is NodePath<VariableDeclarator$1>;
    isVariance(opts?: object): this is NodePath<Variance$1>;
    isVoidTypeAnnotation(opts?: object): this is NodePath<VoidTypeAnnotation$1>;
    isWhile(opts?: object): this is NodePath<While>;
    isWhileStatement(opts?: object): this is NodePath<WhileStatement$1>;
    isWithStatement(opts?: object): this is NodePath<WithStatement$1>;
    isYieldExpression(opts?: object): this is NodePath<YieldExpression$1>;

    isBindingIdentifier(opts?: object): this is NodePath<VirtualTypeAliases["BindingIdentifier"]>;
    isBlockScoped(opts?: object): this is NodePath<FunctionDeclaration$1 | ClassDeclaration$1 | VariableDeclaration$1>;

    /** @deprecated */
    isExistentialTypeParam(opts?: object): this is NodePath<VirtualTypeAliases["ExistentialTypeParam"]>;
    isForAwaitStatement(opts?: object): this is NodePath<VirtualTypeAliases["ForAwaitStatement"]>;
    isGenerated(opts?: object): boolean;

    /** @deprecated */
    isNumericLiteralTypeAnnotation(opts?: object): void;
    isPure(opts?: object): boolean;
    isReferenced(opts?: object): boolean;
    isReferencedIdentifier(opts?: object): this is NodePath<VirtualTypeAliases["ReferencedIdentifier"]>;
    isReferencedMemberExpression(opts?: object): this is NodePath<VirtualTypeAliases["ReferencedMemberExpression"]>;
    isScope(opts?: object): this is NodePath<VirtualTypeAliases["Scope"]>;
    isUser(opts?: object): boolean;
    isVar(opts?: object): this is NodePath<VirtualTypeAliases["Var"]>;
    // #endregion

    // #region ------------------------- assertXXX -------------------------
    assertAccessor(opts?: object): asserts this is NodePath<Accessor>;
    assertAnyTypeAnnotation(opts?: object): asserts this is NodePath<AnyTypeAnnotation$1>;
    assertArgumentPlaceholder(opts?: object): asserts this is NodePath<ArgumentPlaceholder$1>;
    assertArrayExpression(opts?: object): asserts this is NodePath<ArrayExpression$1>;
    assertArrayPattern(opts?: object): asserts this is NodePath<ArrayPattern$1>;
    assertArrayTypeAnnotation(opts?: object): asserts this is NodePath<ArrayTypeAnnotation$1>;
    assertArrowFunctionExpression(opts?: object): asserts this is NodePath<ArrowFunctionExpression$1>;
    assertAssignmentExpression(opts?: object): asserts this is NodePath<AssignmentExpression$1>;
    assertAssignmentPattern(opts?: object): asserts this is NodePath<AssignmentPattern$1>;
    assertAwaitExpression(opts?: object): asserts this is NodePath<AwaitExpression$1>;
    assertBigIntLiteral(opts?: object): asserts this is NodePath<BigIntLiteral$1>;
    assertBinary(opts?: object): asserts this is NodePath<Binary>;
    assertBinaryExpression(opts?: object): asserts this is NodePath<BinaryExpression$1>;
    assertBindExpression(opts?: object): asserts this is NodePath<BindExpression$1>;
    assertBlock(opts?: object): asserts this is NodePath<Block>;
    assertBlockParent(opts?: object): asserts this is NodePath<BlockParent>;
    assertBlockStatement(opts?: object): asserts this is NodePath<BlockStatement$1>;
    assertBooleanLiteral(opts?: object): asserts this is NodePath<BooleanLiteral$1>;
    assertBooleanLiteralTypeAnnotation(opts?: object): asserts this is NodePath<BooleanLiteralTypeAnnotation$1>;
    assertBooleanTypeAnnotation(opts?: object): asserts this is NodePath<BooleanTypeAnnotation$1>;
    assertBreakStatement(opts?: object): asserts this is NodePath<BreakStatement$1>;
    assertCallExpression(opts?: object): asserts this is NodePath<CallExpression$1>;
    assertCatchClause(opts?: object): asserts this is NodePath<CatchClause$1>;
    assertClass(opts?: object): asserts this is NodePath<Class>;
    assertClassAccessorProperty(opts?: object): asserts this is NodePath<ClassAccessorProperty$1>;
    assertClassBody(opts?: object): asserts this is NodePath<ClassBody$1>;
    assertClassDeclaration(opts?: object): asserts this is NodePath<ClassDeclaration$1>;
    assertClassExpression(opts?: object): asserts this is NodePath<ClassExpression$1>;
    assertClassImplements(opts?: object): asserts this is NodePath<ClassImplements$1>;
    assertClassMethod(opts?: object): asserts this is NodePath<ClassMethod$1>;
    assertClassPrivateMethod(opts?: object): asserts this is NodePath<ClassPrivateMethod$1>;
    assertClassPrivateProperty(opts?: object): asserts this is NodePath<ClassPrivateProperty$1>;
    assertClassProperty(opts?: object): asserts this is NodePath<ClassProperty$1>;
    assertCompletionStatement(opts?: object): asserts this is NodePath<CompletionStatement>;
    assertConditional(opts?: object): asserts this is NodePath<Conditional>;
    assertConditionalExpression(opts?: object): asserts this is NodePath<ConditionalExpression$1>;
    assertContinueStatement(opts?: object): asserts this is NodePath<ContinueStatement$1>;
    assertDebuggerStatement(opts?: object): asserts this is NodePath<DebuggerStatement$1>;
    assertDecimalLiteral(opts?: object): asserts this is NodePath<DecimalLiteral$1>;
    assertDeclaration(opts?: object): asserts this is NodePath<Declaration$1>;
    assertDeclareClass(opts?: object): asserts this is NodePath<DeclareClass$1>;
    assertDeclareExportAllDeclaration(opts?: object): asserts this is NodePath<DeclareExportAllDeclaration$1>;
    assertDeclareExportDeclaration(opts?: object): asserts this is NodePath<DeclareExportDeclaration$1>;
    assertDeclareFunction(opts?: object): asserts this is NodePath<DeclareFunction$1>;
    assertDeclareInterface(opts?: object): asserts this is NodePath<DeclareInterface$1>;
    assertDeclareModule(opts?: object): asserts this is NodePath<DeclareModule$1>;
    assertDeclareModuleExports(opts?: object): asserts this is NodePath<DeclareModuleExports$1>;
    assertDeclareOpaqueType(opts?: object): asserts this is NodePath<DeclareOpaqueType$1>;
    assertDeclareTypeAlias(opts?: object): asserts this is NodePath<DeclareTypeAlias$1>;
    assertDeclareVariable(opts?: object): asserts this is NodePath<DeclareVariable$1>;
    assertDeclaredPredicate(opts?: object): asserts this is NodePath<DeclaredPredicate$1>;
    assertDecorator(opts?: object): asserts this is NodePath<Decorator$1>;
    assertDirective(opts?: object): asserts this is NodePath<Directive$1>;
    assertDirectiveLiteral(opts?: object): asserts this is NodePath<DirectiveLiteral$1>;
    assertDoExpression(opts?: object): asserts this is NodePath<DoExpression$1>;
    assertDoWhileStatement(opts?: object): asserts this is NodePath<DoWhileStatement$1>;
    assertEmptyStatement(opts?: object): asserts this is NodePath<EmptyStatement$1>;
    assertEmptyTypeAnnotation(opts?: object): asserts this is NodePath<EmptyTypeAnnotation$1>;
    assertEnumBody(opts?: object): asserts this is NodePath<EnumBody>;
    assertEnumBooleanBody(opts?: object): asserts this is NodePath<EnumBooleanBody$1>;
    assertEnumBooleanMember(opts?: object): asserts this is NodePath<EnumBooleanMember$1>;
    assertEnumDeclaration(opts?: object): asserts this is NodePath<EnumDeclaration$1>;
    assertEnumDefaultedMember(opts?: object): asserts this is NodePath<EnumDefaultedMember$1>;
    assertEnumMember(opts?: object): asserts this is NodePath<EnumMember>;
    assertEnumNumberBody(opts?: object): asserts this is NodePath<EnumNumberBody$1>;
    assertEnumNumberMember(opts?: object): asserts this is NodePath<EnumNumberMember$1>;
    assertEnumStringBody(opts?: object): asserts this is NodePath<EnumStringBody$1>;
    assertEnumStringMember(opts?: object): asserts this is NodePath<EnumStringMember$1>;
    assertEnumSymbolBody(opts?: object): asserts this is NodePath<EnumSymbolBody$1>;
    assertExistsTypeAnnotation(opts?: object): asserts this is NodePath<ExistsTypeAnnotation$1>;
    assertExportAllDeclaration(opts?: object): asserts this is NodePath<ExportAllDeclaration$1>;
    assertExportDeclaration(opts?: object): asserts this is NodePath<ExportDeclaration>;
    assertExportDefaultDeclaration(opts?: object): asserts this is NodePath<ExportDefaultDeclaration$1>;
    assertExportDefaultSpecifier(opts?: object): asserts this is NodePath<ExportDefaultSpecifier$1>;
    assertExportNamedDeclaration(opts?: object): asserts this is NodePath<ExportNamedDeclaration$1>;
    assertExportNamespaceSpecifier(opts?: object): asserts this is NodePath<ExportNamespaceSpecifier$1>;
    assertExportSpecifier(opts?: object): asserts this is NodePath<ExportSpecifier$1>;
    assertExpression(opts?: object): asserts this is NodePath<Expression$1>;
    assertExpressionStatement(opts?: object): asserts this is NodePath<ExpressionStatement$1>;
    assertExpressionWrapper(opts?: object): asserts this is NodePath<ExpressionWrapper>;
    assertFile(opts?: object): asserts this is NodePath<File$1>;
    assertFlow(opts?: object): asserts this is NodePath<Flow$1>;
    assertFlowBaseAnnotation(opts?: object): asserts this is NodePath<FlowBaseAnnotation>;
    assertFlowDeclaration(opts?: object): asserts this is NodePath<FlowDeclaration>;
    assertFlowPredicate(opts?: object): asserts this is NodePath<FlowPredicate>;
    assertFlowType(opts?: object): asserts this is NodePath<FlowType$1>;
    assertFor(opts?: object): asserts this is NodePath<For>;
    assertForInStatement(opts?: object): asserts this is NodePath<ForInStatement$1>;
    assertForOfStatement(opts?: object): asserts this is NodePath<ForOfStatement$1>;
    assertForStatement(opts?: object): asserts this is NodePath<ForStatement$1>;
    assertForXStatement(opts?: object): asserts this is NodePath<ForXStatement>;
    assertFunction(opts?: object): asserts this is NodePath<Function>;
    assertFunctionDeclaration(opts?: object): asserts this is NodePath<FunctionDeclaration$1>;
    assertFunctionExpression(opts?: object): asserts this is NodePath<FunctionExpression$1>;
    assertFunctionParent(opts?: object): asserts this is NodePath<FunctionParent>;
    assertFunctionTypeAnnotation(opts?: object): asserts this is NodePath<FunctionTypeAnnotation$1>;
    assertFunctionTypeParam(opts?: object): asserts this is NodePath<FunctionTypeParam$1>;
    assertGenericTypeAnnotation(opts?: object): asserts this is NodePath<GenericTypeAnnotation$1>;
    assertIdentifier(opts?: object): asserts this is NodePath<Identifier$1>;
    assertIfStatement(opts?: object): asserts this is NodePath<IfStatement$1>;
    assertImmutable(opts?: object): asserts this is NodePath<Immutable>;
    assertImport(opts?: object): asserts this is NodePath<Import$1>;
    assertImportAttribute(opts?: object): asserts this is NodePath<ImportAttribute$1>;
    assertImportDeclaration(opts?: object): asserts this is NodePath<ImportDeclaration$1>;
    assertImportDefaultSpecifier(opts?: object): asserts this is NodePath<ImportDefaultSpecifier$1>;
    assertImportNamespaceSpecifier(opts?: object): asserts this is NodePath<ImportNamespaceSpecifier$1>;
    assertImportSpecifier(opts?: object): asserts this is NodePath<ImportSpecifier$1>;
    assertIndexedAccessType(opts?: object): asserts this is NodePath<IndexedAccessType$1>;
    assertInferredPredicate(opts?: object): asserts this is NodePath<InferredPredicate$1>;
    assertInterfaceDeclaration(opts?: object): asserts this is NodePath<InterfaceDeclaration$1>;
    assertInterfaceExtends(opts?: object): asserts this is NodePath<InterfaceExtends$1>;
    assertInterfaceTypeAnnotation(opts?: object): asserts this is NodePath<InterfaceTypeAnnotation$1>;
    assertInterpreterDirective(opts?: object): asserts this is NodePath<InterpreterDirective$1>;
    assertIntersectionTypeAnnotation(opts?: object): asserts this is NodePath<IntersectionTypeAnnotation$1>;
    assertJSX(opts?: object): asserts this is NodePath<JSX>;
    assertJSXAttribute(opts?: object): asserts this is NodePath<JSXAttribute$1>;
    assertJSXClosingElement(opts?: object): asserts this is NodePath<JSXClosingElement$1>;
    assertJSXClosingFragment(opts?: object): asserts this is NodePath<JSXClosingFragment$1>;
    assertJSXElement(opts?: object): asserts this is NodePath<JSXElement$1>;
    assertJSXEmptyExpression(opts?: object): asserts this is NodePath<JSXEmptyExpression$1>;
    assertJSXExpressionContainer(opts?: object): asserts this is NodePath<JSXExpressionContainer$1>;
    assertJSXFragment(opts?: object): asserts this is NodePath<JSXFragment$1>;
    assertJSXIdentifier(opts?: object): asserts this is NodePath<JSXIdentifier$1>;
    assertJSXMemberExpression(opts?: object): asserts this is NodePath<JSXMemberExpression$1>;
    assertJSXNamespacedName(opts?: object): asserts this is NodePath<JSXNamespacedName$1>;
    assertJSXOpeningElement(opts?: object): asserts this is NodePath<JSXOpeningElement$1>;
    assertJSXOpeningFragment(opts?: object): asserts this is NodePath<JSXOpeningFragment$1>;
    assertJSXSpreadAttribute(opts?: object): asserts this is NodePath<JSXSpreadAttribute$1>;
    assertJSXSpreadChild(opts?: object): asserts this is NodePath<JSXSpreadChild$1>;
    assertJSXText(opts?: object): asserts this is NodePath<JSXText$1>;
    assertLVal(opts?: object): asserts this is NodePath<LVal$1>;
    assertLabeledStatement(opts?: object): asserts this is NodePath<LabeledStatement$1>;
    assertLiteral(opts?: object): asserts this is NodePath<Literal>;
    assertLogicalExpression(opts?: object): asserts this is NodePath<LogicalExpression$1>;
    assertLoop(opts?: object): asserts this is NodePath<Loop>;
    assertMemberExpression(opts?: object): asserts this is NodePath<MemberExpression$1>;
    assertMetaProperty(opts?: object): asserts this is NodePath<MetaProperty$1>;
    assertMethod(opts?: object): asserts this is NodePath<Method>;
    assertMiscellaneous(opts?: object): asserts this is NodePath<Miscellaneous>;
    assertMixedTypeAnnotation(opts?: object): asserts this is NodePath<MixedTypeAnnotation$1>;
    assertModuleDeclaration(opts?: object): asserts this is NodePath<ModuleDeclaration>;
    assertModuleExpression(opts?: object): asserts this is NodePath<ModuleExpression$1>;
    assertModuleSpecifier(opts?: object): asserts this is NodePath<ModuleSpecifier>;
    assertNewExpression(opts?: object): asserts this is NodePath<NewExpression$1>;
    assertNoop(opts?: object): asserts this is NodePath<Noop$1>;
    assertNullLiteral(opts?: object): asserts this is NodePath<NullLiteral$1>;
    assertNullLiteralTypeAnnotation(opts?: object): asserts this is NodePath<NullLiteralTypeAnnotation$1>;
    assertNullableTypeAnnotation(opts?: object): asserts this is NodePath<NullableTypeAnnotation$1>;

    /** @deprecated Use `assertNumericLiteral` */
    assertNumberLiteral(opts?: object): asserts this is NodePath<NumberLiteral$1>;
    assertNumberLiteralTypeAnnotation(opts?: object): asserts this is NodePath<NumberLiteralTypeAnnotation$1>;
    assertNumberTypeAnnotation(opts?: object): asserts this is NodePath<NumberTypeAnnotation$1>;
    assertNumericLiteral(opts?: object): asserts this is NodePath<NumericLiteral$1>;
    assertObjectExpression(opts?: object): asserts this is NodePath<ObjectExpression$1>;
    assertObjectMember(opts?: object): asserts this is NodePath<ObjectMember>;
    assertObjectMethod(opts?: object): asserts this is NodePath<ObjectMethod$1>;
    assertObjectPattern(opts?: object): asserts this is NodePath<ObjectPattern$1>;
    assertObjectProperty(opts?: object): asserts this is NodePath<ObjectProperty$1>;
    assertObjectTypeAnnotation(opts?: object): asserts this is NodePath<ObjectTypeAnnotation$1>;
    assertObjectTypeCallProperty(opts?: object): asserts this is NodePath<ObjectTypeCallProperty$1>;
    assertObjectTypeIndexer(opts?: object): asserts this is NodePath<ObjectTypeIndexer$1>;
    assertObjectTypeInternalSlot(opts?: object): asserts this is NodePath<ObjectTypeInternalSlot$1>;
    assertObjectTypeProperty(opts?: object): asserts this is NodePath<ObjectTypeProperty$1>;
    assertObjectTypeSpreadProperty(opts?: object): asserts this is NodePath<ObjectTypeSpreadProperty$1>;
    assertOpaqueType(opts?: object): asserts this is NodePath<OpaqueType$1>;
    assertOptionalCallExpression(opts?: object): asserts this is NodePath<OptionalCallExpression$1>;
    assertOptionalIndexedAccessType(opts?: object): asserts this is NodePath<OptionalIndexedAccessType$1>;
    assertOptionalMemberExpression(opts?: object): asserts this is NodePath<OptionalMemberExpression$1>;
    assertParenthesizedExpression(opts?: object): asserts this is NodePath<ParenthesizedExpression$1>;
    assertPattern(opts?: object): asserts this is NodePath<Pattern$1>;
    assertPatternLike(opts?: object): asserts this is NodePath<PatternLike$1>;
    assertPipelineBareFunction(opts?: object): asserts this is NodePath<PipelineBareFunction$1>;
    assertPipelinePrimaryTopicReference(opts?: object): asserts this is NodePath<PipelinePrimaryTopicReference$1>;
    assertPipelineTopicExpression(opts?: object): asserts this is NodePath<PipelineTopicExpression$1>;
    assertPlaceholder(opts?: object): asserts this is NodePath<Placeholder$1>;
    assertPrivate(opts?: object): asserts this is NodePath<Private>;
    assertPrivateName(opts?: object): asserts this is NodePath<PrivateName$1>;
    assertProgram(opts?: object): asserts this is NodePath<Program$1>;
    assertProperty(opts?: object): asserts this is NodePath<Property>;
    assertPureish(opts?: object): asserts this is NodePath<Pureish>;
    assertQualifiedTypeIdentifier(opts?: object): asserts this is NodePath<QualifiedTypeIdentifier$1>;
    assertRecordExpression(opts?: object): asserts this is NodePath<RecordExpression$1>;
    assertRegExpLiteral(opts?: object): asserts this is NodePath<RegExpLiteral$1>;

    /** @deprecated Use `assertRegExpLiteral` */
    assertRegexLiteral(opts?: object): asserts this is NodePath<RegexLiteral$1>;
    assertRestElement(opts?: object): asserts this is NodePath<RestElement$1>;

    /** @deprecated Use `assertRestElement` */
    assertRestProperty(opts?: object): asserts this is NodePath<RestProperty$1>;
    assertReturnStatement(opts?: object): asserts this is NodePath<ReturnStatement$1>;
    assertScopable(opts?: object): asserts this is NodePath<Scopable>;
    assertSequenceExpression(opts?: object): asserts this is NodePath<SequenceExpression$1>;
    assertSpreadElement(opts?: object): asserts this is NodePath<SpreadElement$1>;

    /** @deprecated Use `assertSpreadElement` */
    assertSpreadProperty(opts?: object): asserts this is NodePath<SpreadProperty$1>;
    assertStandardized(opts?: object): asserts this is NodePath<Standardized>;
    assertStatement(opts?: object): asserts this is NodePath<Statement$1>;
    assertStaticBlock(opts?: object): asserts this is NodePath<StaticBlock$1>;
    assertStringLiteral(opts?: object): asserts this is NodePath<StringLiteral$1>;
    assertStringLiteralTypeAnnotation(opts?: object): asserts this is NodePath<StringLiteralTypeAnnotation$1>;
    assertStringTypeAnnotation(opts?: object): asserts this is NodePath<StringTypeAnnotation$1>;
    assertSuper(opts?: object): asserts this is NodePath<Super$1>;
    assertSwitchCase(opts?: object): asserts this is NodePath<SwitchCase$1>;
    assertSwitchStatement(opts?: object): asserts this is NodePath<SwitchStatement$1>;
    assertSymbolTypeAnnotation(opts?: object): asserts this is NodePath<SymbolTypeAnnotation$1>;
    assertTSAnyKeyword(opts?: object): asserts this is NodePath<TSAnyKeyword$1>;
    assertTSArrayType(opts?: object): asserts this is NodePath<TSArrayType$1>;
    assertTSAsExpression(opts?: object): asserts this is NodePath<TSAsExpression$1>;
    assertTSBaseType(opts?: object): asserts this is NodePath<TSBaseType>;
    assertTSBigIntKeyword(opts?: object): asserts this is NodePath<TSBigIntKeyword$1>;
    assertTSBooleanKeyword(opts?: object): asserts this is NodePath<TSBooleanKeyword$1>;
    assertTSCallSignatureDeclaration(opts?: object): asserts this is NodePath<TSCallSignatureDeclaration$1>;
    assertTSConditionalType(opts?: object): asserts this is NodePath<TSConditionalType$1>;
    assertTSConstructSignatureDeclaration(opts?: object): asserts this is NodePath<TSConstructSignatureDeclaration$1>;
    assertTSConstructorType(opts?: object): asserts this is NodePath<TSConstructorType$1>;
    assertTSDeclareFunction(opts?: object): asserts this is NodePath<TSDeclareFunction$1>;
    assertTSDeclareMethod(opts?: object): asserts this is NodePath<TSDeclareMethod$1>;
    assertTSEntityName(opts?: object): asserts this is NodePath<TSEntityName$1>;
    assertTSEnumDeclaration(opts?: object): asserts this is NodePath<TSEnumDeclaration$1>;
    assertTSEnumMember(opts?: object): asserts this is NodePath<TSEnumMember$1>;
    assertTSExportAssignment(opts?: object): asserts this is NodePath<TSExportAssignment$1>;
    assertTSExpressionWithTypeArguments(opts?: object): asserts this is NodePath<TSExpressionWithTypeArguments$1>;
    assertTSExternalModuleReference(opts?: object): asserts this is NodePath<TSExternalModuleReference$1>;
    assertTSFunctionType(opts?: object): asserts this is NodePath<TSFunctionType$1>;
    assertTSImportEqualsDeclaration(opts?: object): asserts this is NodePath<TSImportEqualsDeclaration$1>;
    assertTSImportType(opts?: object): asserts this is NodePath<TSImportType$1>;
    assertTSIndexSignature(opts?: object): asserts this is NodePath<TSIndexSignature$1>;
    assertTSIndexedAccessType(opts?: object): asserts this is NodePath<TSIndexedAccessType$1>;
    assertTSInferType(opts?: object): asserts this is NodePath<TSInferType$1>;
    assertTSInstantiationExpression(opts?: object): asserts this is NodePath<TSInstantiationExpression$1>;
    assertTSInterfaceBody(opts?: object): asserts this is NodePath<TSInterfaceBody$1>;
    assertTSInterfaceDeclaration(opts?: object): asserts this is NodePath<TSInterfaceDeclaration$1>;
    assertTSIntersectionType(opts?: object): asserts this is NodePath<TSIntersectionType$1>;
    assertTSIntrinsicKeyword(opts?: object): asserts this is NodePath<TSIntrinsicKeyword$1>;
    assertTSLiteralType(opts?: object): asserts this is NodePath<TSLiteralType$1>;
    assertTSMappedType(opts?: object): asserts this is NodePath<TSMappedType$1>;
    assertTSMethodSignature(opts?: object): asserts this is NodePath<TSMethodSignature$1>;
    assertTSModuleBlock(opts?: object): asserts this is NodePath<TSModuleBlock$1>;
    assertTSModuleDeclaration(opts?: object): asserts this is NodePath<TSModuleDeclaration$1>;
    assertTSNamedTupleMember(opts?: object): asserts this is NodePath<TSNamedTupleMember$1>;
    assertTSNamespaceExportDeclaration(opts?: object): asserts this is NodePath<TSNamespaceExportDeclaration$1>;
    assertTSNeverKeyword(opts?: object): asserts this is NodePath<TSNeverKeyword$1>;
    assertTSNonNullExpression(opts?: object): asserts this is NodePath<TSNonNullExpression$1>;
    assertTSNullKeyword(opts?: object): asserts this is NodePath<TSNullKeyword$1>;
    assertTSNumberKeyword(opts?: object): asserts this is NodePath<TSNumberKeyword$1>;
    assertTSObjectKeyword(opts?: object): asserts this is NodePath<TSObjectKeyword$1>;
    assertTSOptionalType(opts?: object): asserts this is NodePath<TSOptionalType$1>;
    assertTSParameterProperty(opts?: object): asserts this is NodePath<TSParameterProperty$1>;
    assertTSParenthesizedType(opts?: object): asserts this is NodePath<TSParenthesizedType$1>;
    assertTSPropertySignature(opts?: object): asserts this is NodePath<TSPropertySignature$1>;
    assertTSQualifiedName(opts?: object): asserts this is NodePath<TSQualifiedName$1>;
    assertTSRestType(opts?: object): asserts this is NodePath<TSRestType$1>;
    assertTSSatisfiesExpression(opts?: object): asserts this is NodePath<TSSatisfiesExpression$1>;
    assertTSStringKeyword(opts?: object): asserts this is NodePath<TSStringKeyword$1>;
    assertTSSymbolKeyword(opts?: object): asserts this is NodePath<TSSymbolKeyword$1>;
    assertTSThisType(opts?: object): asserts this is NodePath<TSThisType$1>;
    assertTSTupleType(opts?: object): asserts this is NodePath<TSTupleType$1>;
    assertTSType(opts?: object): asserts this is NodePath<TSType$1>;
    assertTSTypeAliasDeclaration(opts?: object): asserts this is NodePath<TSTypeAliasDeclaration$1>;
    assertTSTypeAnnotation(opts?: object): asserts this is NodePath<TSTypeAnnotation$1>;
    assertTSTypeAssertion(opts?: object): asserts this is NodePath<TSTypeAssertion$1>;
    assertTSTypeElement(opts?: object): asserts this is NodePath<TSTypeElement$1>;
    assertTSTypeLiteral(opts?: object): asserts this is NodePath<TSTypeLiteral$1>;
    assertTSTypeOperator(opts?: object): asserts this is NodePath<TSTypeOperator$1>;
    assertTSTypeParameter(opts?: object): asserts this is NodePath<TSTypeParameter$1>;
    assertTSTypeParameterDeclaration(opts?: object): asserts this is NodePath<TSTypeParameterDeclaration$1>;
    assertTSTypeParameterInstantiation(opts?: object): asserts this is NodePath<TSTypeParameterInstantiation$1>;
    assertTSTypePredicate(opts?: object): asserts this is NodePath<TSTypePredicate$1>;
    assertTSTypeQuery(opts?: object): asserts this is NodePath<TSTypeQuery$1>;
    assertTSTypeReference(opts?: object): asserts this is NodePath<TSTypeReference$1>;
    assertTSUndefinedKeyword(opts?: object): asserts this is NodePath<TSUndefinedKeyword$1>;
    assertTSUnionType(opts?: object): asserts this is NodePath<TSUnionType$1>;
    assertTSUnknownKeyword(opts?: object): asserts this is NodePath<TSUnknownKeyword$1>;
    assertTSVoidKeyword(opts?: object): asserts this is NodePath<TSVoidKeyword$1>;
    assertTaggedTemplateExpression(opts?: object): asserts this is NodePath<TaggedTemplateExpression$1>;
    assertTemplateElement(opts?: object): asserts this is NodePath<TemplateElement$1>;
    assertTemplateLiteral(opts?: object): asserts this is NodePath<TemplateLiteral$1>;
    assertTerminatorless(opts?: object): asserts this is NodePath<Terminatorless>;
    assertThisExpression(opts?: object): asserts this is NodePath<ThisExpression$1>;
    assertThisTypeAnnotation(opts?: object): asserts this is NodePath<ThisTypeAnnotation$1>;
    assertThrowStatement(opts?: object): asserts this is NodePath<ThrowStatement$1>;
    assertTopicReference(opts?: object): asserts this is NodePath<TopicReference$1>;
    assertTryStatement(opts?: object): asserts this is NodePath<TryStatement$1>;
    assertTupleExpression(opts?: object): asserts this is NodePath<TupleExpression$1>;
    assertTupleTypeAnnotation(opts?: object): asserts this is NodePath<TupleTypeAnnotation$1>;
    assertTypeAlias(opts?: object): asserts this is NodePath<TypeAlias$1>;
    assertTypeAnnotation(opts?: object): asserts this is NodePath<TypeAnnotation$1>;
    assertTypeCastExpression(opts?: object): asserts this is NodePath<TypeCastExpression$1>;
    assertTypeParameter(opts?: object): asserts this is NodePath<TypeParameter$1>;
    assertTypeParameterDeclaration(opts?: object): asserts this is NodePath<TypeParameterDeclaration$1>;
    assertTypeParameterInstantiation(opts?: object): asserts this is NodePath<TypeParameterInstantiation$1>;
    assertTypeScript(opts?: object): asserts this is NodePath<TypeScript>;
    assertTypeofTypeAnnotation(opts?: object): asserts this is NodePath<TypeofTypeAnnotation$1>;
    assertUnaryExpression(opts?: object): asserts this is NodePath<UnaryExpression$1>;
    assertUnaryLike(opts?: object): asserts this is NodePath<UnaryLike>;
    assertUnionTypeAnnotation(opts?: object): asserts this is NodePath<UnionTypeAnnotation$1>;
    assertUpdateExpression(opts?: object): asserts this is NodePath<UpdateExpression$1>;
    assertUserWhitespacable(opts?: object): asserts this is NodePath<UserWhitespacable>;
    assertV8IntrinsicIdentifier(opts?: object): asserts this is NodePath<V8IntrinsicIdentifier$1>;
    assertVariableDeclaration(opts?: object): asserts this is NodePath<VariableDeclaration$1>;
    assertVariableDeclarator(opts?: object): asserts this is NodePath<VariableDeclarator$1>;
    assertVariance(opts?: object): asserts this is NodePath<Variance$1>;
    assertVoidTypeAnnotation(opts?: object): asserts this is NodePath<VoidTypeAnnotation$1>;
    assertWhile(opts?: object): asserts this is NodePath<While>;
    assertWhileStatement(opts?: object): asserts this is NodePath<WhileStatement$1>;
    assertWithStatement(opts?: object): asserts this is NodePath<WithStatement$1>;
    assertYieldExpression(opts?: object): asserts this is NodePath<YieldExpression$1>;
    // #endregion
}

interface HubInterface {
    getCode(): string | undefined;
    getScope(): Scope | undefined;
    addHelper(name: string): any;
    buildError(node: Node$2, msg: string, Error: ErrorConstructor): Error;
}

declare class Hub implements HubInterface {
    constructor();
    getCode(): string | undefined;
    getScope(): Scope | undefined;
    addHelper(name: string): any;
    buildError(node: Node$2, msg: string, Error?: ErrorConstructor): Error;
}

interface TraversalContext<S = unknown> {
    parentPath: NodePath;
    scope: Scope;
    state: S;
    opts: TraverseOptions;
}

type NodePathResult<T> =
    | (Extract<T, Node$2 | null | undefined> extends never ? never : NodePath<Extract<T, Node$2 | null | undefined>>)
    | (T extends Array<Node$2 | null | undefined> ? Array<NodePath<T[number]>> : never);

interface VirtualTypeAliases {
    BindingIdentifier: Identifier$1;
    BlockScoped: Node$2;
    ExistentialTypeParam: ExistsTypeAnnotation$1;
    Flow: Flow$1 | ImportDeclaration$1 | ExportDeclaration | ImportSpecifier$1;
    ForAwaitStatement: ForOfStatement$1;
    Generated: Node$2;
    NumericLiteralTypeAnnotation: NumberLiteralTypeAnnotation$1;
    Pure: Node$2;
    Referenced: Node$2;
    ReferencedIdentifier: Identifier$1 | JSXIdentifier$1;
    ReferencedMemberExpression: MemberExpression$1;
    RestProperty: RestElement$1;
    Scope: Scopable | Pattern$1;
    SpreadProperty: RestElement$1;
    User: Node$2;
    Var: VariableDeclaration$1;
}

type Node$1 = Node$2;
type ParseResult$1 = ReturnType<typeof parse$2>;
declare const version: string;
declare const DEFAULT_EXTENSIONS: [".js", ".jsx", ".es6", ".es", ".mjs"];

/**
 * Source map standard format as to revision 3
 * @see {@link https://sourcemaps.info/spec.html}
 * @see {@link https://github.com/mozilla/source-map/blob/HEAD/source-map.d.ts}
 */
interface InputSourceMap {
    version: number;
    sources: string[];
    names: string[];
    sourceRoot?: string | undefined;
    sourcesContent?: string[] | undefined;
    mappings: string;
    file: string;
}

interface TransformOptions {
    /**
     * Specify which assumptions it can make about your code, to better optimize the compilation result. **NOTE**: This replaces the various `loose` options in plugins in favor of
     * top-level options that can apply to multiple plugins
     *
     * @see https://babeljs.io/docs/en/assumptions
     */
    assumptions?: { [name: string]: boolean } | null | undefined;

    /**
     * Include the AST in the returned object
     *
     * Default: `false`
     */
    ast?: boolean | null | undefined;

    /**
     * Attach a comment after all non-user injected code
     *
     * Default: `null`
     */
    auxiliaryCommentAfter?: string | null | undefined;

    /**
     * Attach a comment before all non-user injected code
     *
     * Default: `null`
     */
    auxiliaryCommentBefore?: string | null | undefined;

    /**
     * Specify the "root" folder that defines the location to search for "babel.config.js", and the default folder to allow `.babelrc` files inside of.
     *
     * Default: `"."`
     */
    root?: string | null | undefined;

    /**
     * This option, combined with the "root" value, defines how Babel chooses its project root.
     * The different modes define different ways that Babel can process the "root" value to get
     * the final project root.
     *
     * @see https://babeljs.io/docs/en/next/options#rootmode
     */
    rootMode?: "root" | "upward" | "upward-optional" | undefined;

    /**
     * The config file to load Babel's config from. Defaults to searching for "babel.config.js" inside the "root" folder. `false` will disable searching for config files.
     *
     * Default: `undefined`
     */
    configFile?: string | boolean | null | undefined;

    /**
     * Specify whether or not to use .babelrc and
     * .babelignore files.
     *
     * Default: `true`
     */
    babelrc?: boolean | null | undefined;

    /**
     * Specify which packages should be search for .babelrc files when they are being compiled. `true` to always search, or a path string or an array of paths to packages to search
     * inside of. Defaults to only searching the "root" package.
     *
     * Default: `(root)`
     */
    babelrcRoots?: boolean | MatchPattern | MatchPattern[] | null | undefined;

    /**
     * Toggles whether or not browserslist config sources are used, which includes searching for any browserslist files or referencing the browserslist key inside package.json.
     * This is useful for projects that use a browserslist config for files that won't be compiled with Babel.
     *
     * If a string is specified, it must represent the path of a browserslist configuration file. Relative paths are resolved relative to the configuration file which specifies
     * this option, or to `cwd` when it's passed as part of the programmatic options.
     *
     * Default: `true`
     */
    browserslistConfigFile?: boolean | null | undefined;

    /**
     * The Browserslist environment to use.
     *
     * Default: `undefined`
     */
    browserslistEnv?: string | null | undefined;

    /**
     * By default `babel.transformFromAst` will clone the input AST to avoid mutations.
     * Specifying `cloneInputAst: false` can improve parsing performance if the input AST is not used elsewhere.
     *
     * Default: `true`
     */
    cloneInputAst?: boolean | null | undefined;

    /**
     * Defaults to environment variable `BABEL_ENV` if set, or else `NODE_ENV` if set, or else it defaults to `"development"`
     *
     * Default: env vars
     */
    envName?: string | undefined;

    /**
     * If any of patterns match, the current configuration object is considered inactive and is ignored during config processing.
     */
    exclude?: MatchPattern | MatchPattern[] | undefined;

    /**
     * Enable code generation
     *
     * Default: `true`
     */
    code?: boolean | null | undefined;

    /**
     * Output comments in generated output
     *
     * Default: `true`
     */
    comments?: boolean | null | undefined;

    /**
     * Do not include superfluous whitespace characters and line terminators. When set to `"auto"` compact is set to `true` on input sizes of >500KB
     *
     * Default: `"auto"`
     */
    compact?: boolean | "auto" | null | undefined;

    /**
     * The working directory that Babel's programmatic options are loaded relative to.
     *
     * Default: `"."`
     */
    cwd?: string | null | undefined;

    /**
     * Utilities may pass a caller object to identify themselves to Babel and
     * pass capability-related flags for use by configs, presets and plugins.
     *
     * @see https://babeljs.io/docs/en/next/options#caller
     */
    caller?: TransformCaller | undefined;

    /**
     * This is an object of keys that represent different environments. For example, you may have: `{ env: { production: { \/* specific options *\/ } } }`
     * which will use those options when the `envName` is `production`
     *
     * Default: `{}`
     */
    env?: { [index: string]: TransformOptions | null | undefined } | null | undefined;

    /**
     * A path to a `.babelrc` file to extend
     *
     * Default: `null`
     */
    extends?: string | null | undefined;

    /**
     * Filename for use in errors etc
     *
     * Default: `"unknown"`
     */
    filename?: string | null | undefined;

    /**
     * Filename relative to `sourceRoot`
     *
     * Default: `(filename)`
     */
    filenameRelative?: string | null | undefined;

    /**
     * An object containing the options to be passed down to the babel code generator, @babel/generator
     *
     * Default: `{}`
     */
    generatorOpts?: GeneratorOptions | null | undefined;

    /**
     * Specify a custom callback to generate a module id with. Called as `getModuleId(moduleName)`. If falsy value is returned then the generated module id is used
     *
     * Default: `null`
     */
    getModuleId?: ((moduleName: string) => string | null | undefined) | null | undefined;

    /**
     * ANSI highlight syntax error code frames
     *
     * Default: `true`
     */
    highlightCode?: boolean | null | undefined;

    /**
     * Opposite to the `only` option. `ignore` is disregarded if `only` is specified
     *
     * Default: `null`
     */
    ignore?: MatchPattern[] | null | undefined;

    /**
     * This option is a synonym for "test"
     */
    include?: MatchPattern | MatchPattern[] | undefined;

    /**
     * A source map object that the output source map will be based on
     *
     * Default: `null`
     */
    inputSourceMap?: InputSourceMap | null | undefined;

    /**
     * Should the output be minified (not printing last semicolons in blocks, printing literal string values instead of escaped ones, stripping `()` from `new` when safe)
     *
     * Default: `false`
     */
    minified?: boolean | null | undefined;

    /**
     * Specify a custom name for module ids
     *
     * Default: `null`
     */
    moduleId?: string | null | undefined;

    /**
     * If truthy, insert an explicit id for modules. By default, all modules are anonymous. (Not available for `common` modules)
     *
     * Default: `false`
     */
    moduleIds?: boolean | null | undefined;

    /**
     * Optional prefix for the AMD module formatter that will be prepend to the filename on module definitions
     *
     * Default: `(sourceRoot)`
     */
    moduleRoot?: string | null | undefined;

    /**
     * A glob, regex, or mixed array of both, matching paths to **only** compile. Can also be an array of arrays containing paths to explicitly match. When attempting to compile
     * a non-matching file it's returned verbatim
     *
     * Default: `null`
     */
    only?: MatchPattern[] | null | undefined;

    /**
     * Allows users to provide an array of options that will be merged into the current configuration one at a time.
     * This feature is best used alongside the "test"/"include"/"exclude" options to provide conditions for which an override should apply
     */
    overrides?: TransformOptions[] | undefined;

    /**
     * An object containing the options to be passed down to the babel parser, @babel/parser
     *
     * Default: `{}`
     */
    parserOpts?: ParserOptions$2 | null | undefined;

    /**
     * List of plugins to load and use
     *
     * Default: `[]`
     */
    plugins?: PluginItem[] | null | undefined;

    /**
     * List of presets (a set of plugins) to load and use
     *
     * Default: `[]`
     */
    presets?: PluginItem[] | null | undefined;

    /**
     * Retain line numbers. This will lead to wacky code but is handy for scenarios where you can't use source maps. (**NOTE**: This will not retain the columns)
     *
     * Default: `false`
     */
    retainLines?: boolean | null | undefined;

    /**
     * An optional callback that controls whether a comment should be output or not. Called as `shouldPrintComment(commentContents)`. **NOTE**: This overrides the `comment` option when used
     *
     * Default: `null`
     */
    shouldPrintComment?: ((commentContents: string) => boolean) | null | undefined;

    /**
     * Set `sources[0]` on returned source map
     *
     * Default: `(filenameRelative)`
     */
    sourceFileName?: string | null | undefined;

    /**
     * If truthy, adds a `map` property to returned output. If set to `"inline"`, a comment with a sourceMappingURL directive is added to the bottom of the returned code. If set to `"both"`
     * then a `map` property is returned as well as a source map comment appended. **This does not emit sourcemap files by itself!**
     *
     * Default: `false`
     */
    sourceMaps?: boolean | "inline" | "both" | null | undefined;

    /**
     * The root from which all sources are relative
     *
     * Default: `(moduleRoot)`
     */
    sourceRoot?: string | null | undefined;

    /**
     * Indicate the mode the code should be parsed in. Can be one of "script", "module", or "unambiguous". `"unambiguous"` will make Babel attempt to guess, based on the presence of ES6
     * `import` or `export` statements. Files with ES6 `import`s and `export`s are considered `"module"` and are otherwise `"script"`.
     *
     * Default: `("module")`
     */
    sourceType?: "script" | "module" | "unambiguous" | null | undefined;

    /**
     * If all patterns fail to match, the current configuration object is considered inactive and is ignored during config processing.
     */
    test?: MatchPattern | MatchPattern[] | undefined;

    /**
     * Describes the environments you support/target for your project.
     * This can either be a [browserslist-compatible](https://github.com/ai/browserslist) query (with [caveats](https://babeljs.io/docs/en/babel-preset-env#ineffective-browserslist-queries))
     *
     * Default: `{}`
     */
    targets?:
        | string
        | string[]
        | {
            esmodules?: boolean;
            node?: Omit<string, "current"> | "current" | true;
            safari?: Omit<string, "tp"> | "tp";
            browsers?: string | string[];
            android?: string;
            chrome?: string;
            deno?: string;
            edge?: string;
            electron?: string;
            firefox?: string;
            ie?: string;
            ios?: string;
            opera?: string;
            rhino?: string;
            samsung?: string;
        };

    /**
     * An optional callback that can be used to wrap visitor methods. **NOTE**: This is useful for things like introspection, and not really needed for implementing anything. Called as
     * `wrapPluginVisitorMethod(pluginAlias, visitorType, callback)`.
     */
    wrapPluginVisitorMethod?:
        | ((
            pluginAlias: string,
            visitorType: "enter" | "exit",
            callback: (path: NodePath, state: any) => void,
        ) => (path: NodePath, state: any) => void)
        | null
        | undefined;
}

interface TransformCaller {
    // the only required property
    name: string;
    // e.g. set to true by `babel-loader` and false by `babel-jest`
    supportsStaticESM?: boolean | undefined;
    supportsDynamicImport?: boolean | undefined;
    supportsExportNamespaceFrom?: boolean | undefined;
    supportsTopLevelAwait?: boolean | undefined;
    // augment this with a "declare module '@babel/core' { ... }" if you need more keys
}

type FileResultCallback = (err: Error | null, result: BabelFileResult | null) => any;

interface MatchPatternContext {
    envName: string;
    dirname: string;
    caller: TransformCaller | undefined;
}
type MatchPattern = string | RegExp | ((filename: string | undefined, context: MatchPatternContext) => boolean);

/**
 * Transforms the passed in code. Calling a callback with an object with the generated code, source map, and AST.
 */
declare function transform(code: string, callback: FileResultCallback): void;

/**
 * Transforms the passed in code. Calling a callback with an object with the generated code, source map, and AST.
 */
declare function transform(code: string, opts: TransformOptions | undefined, callback: FileResultCallback): void;

/**
 * Here for backward-compatibility. Ideally use `transformSync` if you want a synchronous API.
 */
declare function transform(code: string, opts?: TransformOptions): BabelFileResult | null;

/**
 * Transforms the passed in code. Returning an object with the generated code, source map, and AST.
 */
declare function transformSync(code: string, opts?: TransformOptions): BabelFileResult | null;

/**
 * Transforms the passed in code. Calling a callback with an object with the generated code, source map, and AST.
 */
declare function transformAsync(code: string, opts?: TransformOptions): Promise<BabelFileResult | null>;

/**
 * Asynchronously transforms the entire contents of a file.
 */
declare function transformFile(filename: string, callback: FileResultCallback): void;

/**
 * Asynchronously transforms the entire contents of a file.
 */
declare function transformFile(filename: string, opts: TransformOptions | undefined, callback: FileResultCallback): void;

/**
 * Synchronous version of `babel.transformFile`. Returns the transformed contents of the `filename`.
 */
declare function transformFileSync(filename: string, opts?: TransformOptions): BabelFileResult | null;

/**
 * Asynchronously transforms the entire contents of a file.
 */
declare function transformFileAsync(filename: string, opts?: TransformOptions): Promise<BabelFileResult | null>;

/**
 * Given an AST, transform it.
 */
declare function transformFromAst(ast: Node$1, code: string | undefined, callback: FileResultCallback): void;

/**
 * Given an AST, transform it.
 */
declare function transformFromAst(
    ast: Node$1,
    code: string | undefined,
    opts: TransformOptions | undefined,
    callback: FileResultCallback,
): void;

/**
 * Here for backward-compatibility. Ideally use ".transformSync" if you want a synchronous API.
 */
declare function transformFromAstSync(ast: Node$1, code?: string, opts?: TransformOptions): BabelFileResult | null;

/**
 * Given an AST, transform it.
 */
declare function transformFromAstAsync(
    ast: Node$1,
    code?: string,
    opts?: TransformOptions,
): Promise<BabelFileResult | null>;

// A babel plugin is a simple function which must return an object matching
// the following interface. Babel will throw if it finds unknown properties.
// The list of allowed plugin keys is here:
// https://github.com/babel/babel/blob/4e50b2d9d9c376cee7a2cbf56553fe5b982ea53c/packages/babel-core/src/config/option-manager.js#L71
interface PluginObj<S = PluginPass> {
    name?: string | undefined;
    manipulateOptions?(opts: any, parserOpts: any): void;
    pre?(this: S, file: BabelFile): void;
    visitor: Visitor<S>;
    post?(this: S, file: BabelFile): void;
    inherits?: any;
}

interface BabelFile {
    ast: File$1;
    opts: TransformOptions;
    hub: Hub;
    metadata: object;
    path: NodePath<Program$1>;
    scope: Scope;
    inputMap: object | null;
    code: string;
}

interface PluginPass {
    file: BabelFile;
    key: string;
    opts: object;
    cwd: string;
    filename: string | undefined;
    get(key: unknown): any;
    set(key: unknown, value: unknown): void;
    [key: string]: unknown;
}

interface BabelFileResult {
    ast?: File$1 | null | undefined;
    code?: string | null | undefined;
    ignored?: boolean | undefined;
    map?:
        | {
            version: number;
            sources: string[];
            names: string[];
            sourceRoot?: string | undefined;
            sourcesContent?: string[] | undefined;
            mappings: string;
            file: string;
        }
        | null
        | undefined;
    metadata?: BabelFileMetadata | undefined;
}

interface BabelFileMetadata {
    usedHelpers: string[];
    marked: Array<{
        type: string;
        message: string;
        loc: object;
    }>;
    modules: BabelFileModulesMetadata;
}

interface BabelFileModulesMetadata {
    imports: object[];
    exports: {
        exported: object[];
        specifiers: object[];
    };
}

type FileParseCallback = (err: Error | null, result: ParseResult$1 | null) => any;

/**
 * Given some code, parse it using Babel's standard behavior.
 * Referenced presets and plugins will be loaded such that optional syntax plugins are automatically enabled.
 */
declare function parse$1(code: string, callback: FileParseCallback): void;

/**
 * Given some code, parse it using Babel's standard behavior.
 * Referenced presets and plugins will be loaded such that optional syntax plugins are automatically enabled.
 */
declare function parse$1(code: string, options: TransformOptions | undefined, callback: FileParseCallback): void;

/**
 * Given some code, parse it using Babel's standard behavior.
 * Referenced presets and plugins will be loaded such that optional syntax plugins are automatically enabled.
 */
declare function parse$1(code: string, options?: TransformOptions): ParseResult$1 | null;

/**
 * Given some code, parse it using Babel's standard behavior.
 * Referenced presets and plugins will be loaded such that optional syntax plugins are automatically enabled.
 */
declare function parseSync(code: string, options?: TransformOptions): ParseResult$1 | null;

/**
 * Given some code, parse it using Babel's standard behavior.
 * Referenced presets and plugins will be loaded such that optional syntax plugins are automatically enabled.
 */
declare function parseAsync(code: string, options?: TransformOptions): Promise<ParseResult$1 | null>;

/**
 * Resolve Babel's options fully, resulting in an options object where:
 *
 * * opts.plugins is a full list of Plugin instances.
 * * opts.presets is empty and all presets are flattened into opts.
 * * It can be safely passed back to Babel. Fields like babelrc have been set to false so that later calls to Babel
 * will not make a second attempt to load config files.
 *
 * Plugin instances aren't meant to be manipulated directly, but often callers will serialize this opts to JSON to
 * use it as a cache key representing the options Babel has received. Caching on this isn't 100% guaranteed to
 * invalidate properly, but it is the best we have at the moment.
 */
declare function loadOptions(options?: TransformOptions): object | null;

/**
 * To allow systems to easily manipulate and validate a user's config, this function resolves the plugins and
 * presets and proceeds no further. The expectation is that callers will take the config's .options, manipulate it
 * as then see fit and pass it back to Babel again.
 *
 * * `babelrc: string | void` - The path of the `.babelrc` file, if there was one.
 * * `babelignore: string | void` - The path of the `.babelignore` file, if there was one.
 * * `options: ValidatedOptions` - The partially resolved options, which can be manipulated and passed back
 * to Babel again.
 *  * `plugins: Array<ConfigItem>` - See below.
 *  * `presets: Array<ConfigItem>` - See below.
 *  * It can be safely passed back to Babel. Fields like `babelrc` have been set to false so that later calls to
 * Babel will not make a second attempt to load config files.
 *
 * `ConfigItem` instances expose properties to introspect the values, but each item should be treated as
 * immutable. If changes are desired, the item should be removed from the list and replaced with either a normal
 * Babel config value, or with a replacement item created by `babel.createConfigItem`. See that function for
 * information about `ConfigItem` fields.
 */
declare function loadPartialConfig(options?: TransformOptions): Readonly<PartialConfig> | null;
declare function loadPartialConfigAsync(options?: TransformOptions): Promise<Readonly<PartialConfig> | null>;

interface PartialConfig {
    options: TransformOptions;
    babelrc?: string | undefined;
    babelignore?: string | undefined;
    config?: string | undefined;
    hasFilesystemConfig: () => boolean;
}

interface ConfigItem {
    /**
     * The name that the user gave the plugin instance, e.g. `plugins: [ ['env', {}, 'my-env'] ]`
     */
    name?: string | undefined;

    /**
     * The resolved value of the plugin.
     */
    value: object | ((...args: any[]) => any);

    /**
     * The options object passed to the plugin.
     */
    options?: object | false | undefined;

    /**
     * The path that the options are relative to.
     */
    dirname: string;

    /**
     * Information about the plugin's file, if Babel knows it.
     *  *
     */
    file?:
        | {
            /**
             * The file that the user requested, e.g. `"@babel/env"`
             */
            request: string;

            /**
             * The full path of the resolved file, e.g. `"/tmp/node_modules/@babel/preset-env/lib/index.js"`
             */
            resolved: string;
        }
        | null
        | undefined;
}

type PluginOptions = object | undefined | false;

type PluginTarget = string | object | ((...args: any[]) => any);

type PluginItem =
    | ConfigItem
    | PluginObj<any>
    | PluginTarget
    | [PluginTarget, PluginOptions]
    | [PluginTarget, PluginOptions, string | undefined];

declare function resolvePlugin(name: string, dirname: string): string | null;
declare function resolvePreset(name: string, dirname: string): string | null;

interface CreateConfigItemOptions {
    dirname?: string | undefined;
    type?: "preset" | "plugin" | undefined;
}

/**
 * Allows build tooling to create and cache config items up front. If this function is called multiple times for a
 * given plugin, Babel will call the plugin's function itself multiple times. If you have a clear set of expected
 * plugins and presets to inject, pre-constructing the config items would be recommended.
 */
declare function createConfigItem(
    value: PluginTarget | [PluginTarget, PluginOptions] | [PluginTarget, PluginOptions, string | undefined],
    options?: CreateConfigItemOptions,
): ConfigItem;

// NOTE: the documentation says the ConfigAPI also exposes @babel/core's exports, but it actually doesn't
/**
 * @see https://babeljs.io/docs/en/next/config-files#config-function-api
 */
interface ConfigAPI {
    /**
     * The version string for the Babel version that is loading the config file.
     *
     * @see https://babeljs.io/docs/en/next/config-files#apiversion
     */
    version: string;
    /**
     * @see https://babeljs.io/docs/en/next/config-files#apicache
     */
    cache: SimpleCacheConfigurator;
    /**
     * @see https://babeljs.io/docs/en/next/config-files#apienv
     */
    env: EnvFunction;
    // undocumented; currently hardcoded to return 'false'
    // async(): boolean
    /**
     * This API is used as a way to access the `caller` data that has been passed to Babel.
     * Since many instances of Babel may be running in the same process with different `caller` values,
     * this API is designed to automatically configure `api.cache`, the same way `api.env()` does.
     *
     * The `caller` value is available as the first parameter of the callback function.
     * It is best used with something like this to toggle configuration behavior
     * based on a specific environment:
     *
     * @example
     * function isBabelRegister(caller?: { name: string }) {
     *   return !!(caller && caller.name === "@babel/register")
     * }
     * api.caller(isBabelRegister)
     *
     * @see https://babeljs.io/docs/en/next/config-files#apicallercb
     */
    caller<T extends SimpleCacheKey>(callerCallback: (caller: TransformOptions["caller"]) => T): T;
    /**
     * While `api.version` can be useful in general, it's sometimes nice to just declare your version.
     * This API exposes a simple way to do that with:
     *
     * @example
     * api.assertVersion(7) // major version only
     * api.assertVersion("^7.2")
     *
     * @see https://babeljs.io/docs/en/next/config-files#apiassertversionrange
     */
    assertVersion(versionRange: number | string): boolean;
    // NOTE: this is an undocumented reexport from "@babel/parser" but it's missing from its types
    // tokTypes: typeof tokTypes
}

/**
 * JS configs are great because they can compute a config on the fly,
 * but the downside there is that it makes caching harder.
 * Babel wants to avoid re-executing the config function every time a file is compiled,
 * because then it would also need to re-execute any plugin and preset functions
 * referenced in that config.
 *
 * To avoid this, Babel expects users of config functions to tell it how to manage caching
 * within a config file.
 *
 * @see https://babeljs.io/docs/en/next/config-files#apicache
 */
interface SimpleCacheConfigurator {
    // there is an undocumented call signature that is a shorthand for forever()/never()/using().
    // (ever: boolean): void
    // <T extends SimpleCacheKey>(callback: CacheCallback<T>): T
    /**
     * Permacache the computed config and never call the function again.
     */
    forever(): void;
    /**
     * Do not cache this config, and re-execute the function every time.
     */
    never(): void;
    /**
     * Any time the using callback returns a value other than the one that was expected,
     * the overall config function will be called again and a new entry will be added to the cache.
     *
     * @example
     * api.cache.using(() => process.env.NODE_ENV)
     */
    using<T extends SimpleCacheKey>(callback: SimpleCacheCallback<T>): T;
    /**
     * Any time the using callback returns a value other than the one that was expected,
     * the overall config function will be called again and all entries in the cache will
     * be replaced with the result.
     *
     * @example
     * api.cache.invalidate(() => process.env.NODE_ENV)
     */
    invalidate<T extends SimpleCacheKey>(callback: SimpleCacheCallback<T>): T;
}

// https://github.com/babel/babel/blob/v7.3.3/packages/babel-core/src/config/caching.js#L231
type SimpleCacheKey = string | boolean | number | null | undefined;
type SimpleCacheCallback<T extends SimpleCacheKey> = () => T;

/**
 * Since `NODE_ENV` is a fairly common way to toggle behavior, Babel also includes an API function
 * meant specifically for that. This API is used as a quick way to check the `"envName"` that Babel
 * was loaded with, which takes `NODE_ENV` into account if no other overriding environment is set.
 *
 * @see https://babeljs.io/docs/en/next/config-files#apienv
 */
interface EnvFunction {
    /**
     * @returns the current `envName` string
     */
    (): string;
    /**
     * @returns `true` if the `envName` is `===` any of the given strings
     */
    (envName: string | readonly string[]): boolean;
    // the official documentation is misleading for this one...
    // this just passes the callback to `cache.using` but with an additional argument.
    // it returns its result instead of necessarily returning a boolean.
    <T extends SimpleCacheKey>(envCallback: (envName: NonNullable<TransformOptions["envName"]>) => T): T;
}

type ConfigFunction = (api: ConfigAPI) => TransformOptions;

type index_d_BabelFile = BabelFile;
type index_d_BabelFileMetadata = BabelFileMetadata;
type index_d_BabelFileModulesMetadata = BabelFileModulesMetadata;
type index_d_BabelFileResult = BabelFileResult;
type index_d_ConfigAPI = ConfigAPI;
type index_d_ConfigFunction = ConfigFunction;
type index_d_ConfigItem = ConfigItem;
type index_d_CreateConfigItemOptions = CreateConfigItemOptions;
declare const index_d_DEFAULT_EXTENSIONS: typeof DEFAULT_EXTENSIONS;
type index_d_EnvFunction = EnvFunction;
type index_d_FileParseCallback = FileParseCallback;
type index_d_FileResultCallback = FileResultCallback;
type index_d_GeneratorOptions = GeneratorOptions;
type index_d_MatchPattern = MatchPattern;
type index_d_MatchPatternContext = MatchPatternContext;
type index_d_NodePath<T = Node$2> = NodePath<T>;
declare const index_d_NodePath: typeof NodePath;
type index_d_PartialConfig = PartialConfig;
type index_d_PluginItem = PluginItem;
type index_d_PluginObj<S = PluginPass> = PluginObj<S>;
type index_d_PluginOptions = PluginOptions;
type index_d_PluginPass = PluginPass;
type index_d_PluginTarget = PluginTarget;
type index_d_SimpleCacheCallback<T extends SimpleCacheKey> = SimpleCacheCallback<T>;
type index_d_SimpleCacheConfigurator = SimpleCacheConfigurator;
type index_d_SimpleCacheKey = SimpleCacheKey;
type index_d_TransformCaller = TransformCaller;
type index_d_TransformOptions = TransformOptions;
type index_d_Visitor<S = unknown> = Visitor<S>;
declare const index_d_createConfigItem: typeof createConfigItem;
declare const index_d_loadOptions: typeof loadOptions;
declare const index_d_loadPartialConfig: typeof loadPartialConfig;
declare const index_d_loadPartialConfigAsync: typeof loadPartialConfigAsync;
declare const index_d_parseAsync: typeof parseAsync;
declare const index_d_parseSync: typeof parseSync;
declare const index_d_resolvePlugin: typeof resolvePlugin;
declare const index_d_resolvePreset: typeof resolvePreset;
declare const index_d_transform: typeof transform;
declare const index_d_transformAsync: typeof transformAsync;
declare const index_d_transformFile: typeof transformFile;
declare const index_d_transformFileAsync: typeof transformFileAsync;
declare const index_d_transformFileSync: typeof transformFileSync;
declare const index_d_transformFromAst: typeof transformFromAst;
declare const index_d_transformFromAstAsync: typeof transformFromAstAsync;
declare const index_d_transformFromAstSync: typeof transformFromAstSync;
declare const index_d_transformSync: typeof transformSync;
declare const index_d_version: typeof version;
declare namespace index_d {
  export { type index_d_BabelFile as BabelFile, type index_d_BabelFileMetadata as BabelFileMetadata, type index_d_BabelFileModulesMetadata as BabelFileModulesMetadata, type index_d_BabelFileResult as BabelFileResult, type index_d_ConfigAPI as ConfigAPI, type index_d_ConfigFunction as ConfigFunction, type index_d_ConfigItem as ConfigItem, type index_d_CreateConfigItemOptions as CreateConfigItemOptions, index_d_DEFAULT_EXTENSIONS as DEFAULT_EXTENSIONS, type index_d_EnvFunction as EnvFunction, type index_d_FileParseCallback as FileParseCallback, type index_d_FileResultCallback as FileResultCallback, type index_d_GeneratorOptions as GeneratorOptions, type index_d_MatchPattern as MatchPattern, type index_d_MatchPatternContext as MatchPatternContext, type Node$1 as Node, index_d_NodePath as NodePath, type ParseResult$1 as ParseResult, type ParserOptions$2 as ParserOptions, type index_d_PartialConfig as PartialConfig, type index_d_PluginItem as PluginItem, type index_d_PluginObj as PluginObj, type index_d_PluginOptions as PluginOptions, type index_d_PluginPass as PluginPass, type index_d_PluginTarget as PluginTarget, type index_d_SimpleCacheCallback as SimpleCacheCallback, type index_d_SimpleCacheConfigurator as SimpleCacheConfigurator, type index_d_SimpleCacheKey as SimpleCacheKey, type index_d_TransformCaller as TransformCaller, type index_d_TransformOptions as TransformOptions, type index_d_Visitor as Visitor, index_d_createConfigItem as createConfigItem, index_d_loadOptions as loadOptions, index_d_loadPartialConfig as loadPartialConfig, index_d_loadPartialConfigAsync as loadPartialConfigAsync, parse$1 as parse, index_d_parseAsync as parseAsync, index_d_parseSync as parseSync, index_d_resolvePlugin as resolvePlugin, index_d_resolvePreset as resolvePreset, templateBuilder as template, index_d_transform as transform, index_d_transformAsync as transformAsync, index_d_transformFile as transformFile, index_d_transformFileAsync as transformFileAsync, index_d_transformFileSync as transformFileSync, index_d_transformFromAst as transformFromAst, index_d_transformFromAstAsync as transformFromAstAsync, index_d_transformFromAstSync as transformFromAstSync, index_d_transformSync as transformSync, traverse$1 as traverse, index_d$1 as types, index_d_version as version };
}

interface BaseComment {
    value: string;
    start?: number;
    end?: number;
    loc?: SourceLocation;
    ignore?: boolean;
    type: "CommentBlock" | "CommentLine";
}
interface Position {
    line: number;
    column: number;
    index: number;
}
interface CommentBlock extends BaseComment {
    type: "CommentBlock";
}
interface CommentLine extends BaseComment {
    type: "CommentLine";
}
type Comment = CommentBlock | CommentLine;
interface SourceLocation {
    start: Position;
    end: Position;
    filename: string;
    identifierName: string | undefined | null;
}
interface BaseNode {
    type: Node["type"];
    leadingComments?: Comment[] | null;
    innerComments?: Comment[] | null;
    trailingComments?: Comment[] | null;
    start?: number | null;
    end?: number | null;
    loc?: SourceLocation | null;
    range?: [number, number];
    extra?: Record<string, unknown>;
}
type Node = AnyTypeAnnotation | ArgumentPlaceholder | ArrayExpression | ArrayPattern | ArrayTypeAnnotation | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | BinaryExpression | BindExpression | BlockStatement | BooleanLiteral | BooleanLiteralTypeAnnotation | BooleanTypeAnnotation | BreakStatement | CallExpression | CatchClause | ClassAccessorProperty | ClassBody | ClassDeclaration | ClassExpression | ClassImplements | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | ContinueStatement | DebuggerStatement | DecimalLiteral | DeclareClass | DeclareExportAllDeclaration | DeclareExportDeclaration | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareOpaqueType | DeclareTypeAlias | DeclareVariable | DeclaredPredicate | Decorator | Directive | DirectiveLiteral | DoExpression | DoWhileStatement | EmptyStatement | EmptyTypeAnnotation | EnumBooleanBody | EnumBooleanMember | EnumDeclaration | EnumDefaultedMember | EnumNumberBody | EnumNumberMember | EnumStringBody | EnumStringMember | EnumSymbolBody | ExistsTypeAnnotation | ExportAllDeclaration | ExportDefaultDeclaration | ExportDefaultSpecifier | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportSpecifier | ExpressionStatement | File | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | Identifier | IfStatement | Import | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportExpression | ImportNamespaceSpecifier | ImportSpecifier | IndexedAccessType | InferredPredicate | InterfaceDeclaration | InterfaceExtends | InterfaceTypeAnnotation | InterpreterDirective | IntersectionTypeAnnotation | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LabeledStatement | LogicalExpression | MemberExpression | MetaProperty | MixedTypeAnnotation | ModuleExpression | NewExpression | Noop | NullLiteral | NullLiteralTypeAnnotation | NullableTypeAnnotation | NumberLiteral | NumberLiteralTypeAnnotation | NumberTypeAnnotation | NumericLiteral | ObjectExpression | ObjectMethod | ObjectPattern | ObjectProperty | ObjectTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalCallExpression | OptionalIndexedAccessType | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelinePrimaryTopicReference | PipelineTopicExpression | Placeholder | PrivateName | Program | QualifiedTypeIdentifier | RecordExpression | RegExpLiteral | RegexLiteral | RestElement | RestProperty | ReturnStatement | SequenceExpression | SpreadElement | SpreadProperty | StaticBlock | StringLiteral | StringLiteralTypeAnnotation | StringTypeAnnotation | Super | SwitchCase | SwitchStatement | SymbolTypeAnnotation | TSAnyKeyword | TSArrayType | TSAsExpression | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSConditionalType | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSEnumBody | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExpressionWithTypeArguments | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexSignature | TSIndexedAccessType | TSInferType | TSInstantiationExpression | TSInterfaceBody | TSInterfaceDeclaration | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPropertySignature | TSQualifiedName | TSRestType | TSSatisfiesExpression | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | TaggedTemplateExpression | TemplateElement | TemplateLiteral | ThisExpression | ThisTypeAnnotation | ThrowStatement | TopicReference | TryStatement | TupleExpression | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | TypeofTypeAnnotation | UnaryExpression | UnionTypeAnnotation | UpdateExpression | V8IntrinsicIdentifier | VariableDeclaration | VariableDeclarator | Variance | VoidTypeAnnotation | WhileStatement | WithStatement | YieldExpression;
interface ArrayExpression extends BaseNode {
    type: "ArrayExpression";
    elements: Array<null | Expression | SpreadElement>;
}
interface AssignmentExpression extends BaseNode {
    type: "AssignmentExpression";
    operator: string;
    left: LVal | OptionalMemberExpression;
    right: Expression;
}
interface BinaryExpression extends BaseNode {
    type: "BinaryExpression";
    operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>";
    left: Expression | PrivateName;
    right: Expression;
}
interface InterpreterDirective extends BaseNode {
    type: "InterpreterDirective";
    value: string;
}
interface Directive extends BaseNode {
    type: "Directive";
    value: DirectiveLiteral;
}
interface DirectiveLiteral extends BaseNode {
    type: "DirectiveLiteral";
    value: string;
}
interface BlockStatement extends BaseNode {
    type: "BlockStatement";
    body: Array<Statement>;
    directives: Array<Directive>;
}
interface BreakStatement extends BaseNode {
    type: "BreakStatement";
    label?: Identifier | null;
}
interface CallExpression extends BaseNode {
    type: "CallExpression";
    callee: Expression | Super | V8IntrinsicIdentifier;
    arguments: Array<Expression | SpreadElement | ArgumentPlaceholder>;
    optional?: boolean | null;
    typeArguments?: TypeParameterInstantiation | null;
    typeParameters?: TSTypeParameterInstantiation | null;
}
interface CatchClause extends BaseNode {
    type: "CatchClause";
    param?: Identifier | ArrayPattern | ObjectPattern | null;
    body: BlockStatement;
}
interface ConditionalExpression extends BaseNode {
    type: "ConditionalExpression";
    test: Expression;
    consequent: Expression;
    alternate: Expression;
}
interface ContinueStatement extends BaseNode {
    type: "ContinueStatement";
    label?: Identifier | null;
}
interface DebuggerStatement extends BaseNode {
    type: "DebuggerStatement";
}
interface DoWhileStatement extends BaseNode {
    type: "DoWhileStatement";
    test: Expression;
    body: Statement;
}
interface EmptyStatement extends BaseNode {
    type: "EmptyStatement";
}
interface ExpressionStatement extends BaseNode {
    type: "ExpressionStatement";
    expression: Expression;
}
interface File extends BaseNode {
    type: "File";
    program: Program;
    comments?: Array<CommentBlock | CommentLine> | null;
    tokens?: Array<any> | null;
}
interface ForInStatement extends BaseNode {
    type: "ForInStatement";
    left: VariableDeclaration | LVal;
    right: Expression;
    body: Statement;
}
interface ForStatement extends BaseNode {
    type: "ForStatement";
    init?: VariableDeclaration | Expression | null;
    test?: Expression | null;
    update?: Expression | null;
    body: Statement;
}
interface FunctionDeclaration extends BaseNode {
    type: "FunctionDeclaration";
    id?: Identifier | null;
    params: Array<Identifier | Pattern | RestElement>;
    body: BlockStatement;
    generator: boolean;
    async: boolean;
    declare?: boolean | null;
    predicate?: DeclaredPredicate | InferredPredicate | null;
    returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
    typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
}
interface FunctionExpression extends BaseNode {
    type: "FunctionExpression";
    id?: Identifier | null;
    params: Array<Identifier | Pattern | RestElement>;
    body: BlockStatement;
    generator: boolean;
    async: boolean;
    predicate?: DeclaredPredicate | InferredPredicate | null;
    returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
    typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
}
interface Identifier extends BaseNode {
    type: "Identifier";
    name: string;
    decorators?: Array<Decorator> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface IfStatement extends BaseNode {
    type: "IfStatement";
    test: Expression;
    consequent: Statement;
    alternate?: Statement | null;
}
interface LabeledStatement extends BaseNode {
    type: "LabeledStatement";
    label: Identifier;
    body: Statement;
}
interface StringLiteral extends BaseNode {
    type: "StringLiteral";
    value: string;
}
interface NumericLiteral extends BaseNode {
    type: "NumericLiteral";
    value: number;
}
/**
 * @deprecated Use `NumericLiteral`
 */
interface NumberLiteral extends BaseNode {
    type: "NumberLiteral";
    value: number;
}
interface NullLiteral extends BaseNode {
    type: "NullLiteral";
}
interface BooleanLiteral extends BaseNode {
    type: "BooleanLiteral";
    value: boolean;
}
interface RegExpLiteral extends BaseNode {
    type: "RegExpLiteral";
    pattern: string;
    flags: string;
}
/**
 * @deprecated Use `RegExpLiteral`
 */
interface RegexLiteral extends BaseNode {
    type: "RegexLiteral";
    pattern: string;
    flags: string;
}
interface LogicalExpression extends BaseNode {
    type: "LogicalExpression";
    operator: "||" | "&&" | "??";
    left: Expression;
    right: Expression;
}
interface MemberExpression extends BaseNode {
    type: "MemberExpression";
    object: Expression | Super;
    property: Expression | Identifier | PrivateName;
    computed: boolean;
    optional?: boolean | null;
}
interface NewExpression extends BaseNode {
    type: "NewExpression";
    callee: Expression | Super | V8IntrinsicIdentifier;
    arguments: Array<Expression | SpreadElement | ArgumentPlaceholder>;
    optional?: boolean | null;
    typeArguments?: TypeParameterInstantiation | null;
    typeParameters?: TSTypeParameterInstantiation | null;
}
interface Program extends BaseNode {
    type: "Program";
    body: Array<Statement>;
    directives: Array<Directive>;
    sourceType: "script" | "module";
    interpreter?: InterpreterDirective | null;
}
interface ObjectExpression extends BaseNode {
    type: "ObjectExpression";
    properties: Array<ObjectMethod | ObjectProperty | SpreadElement>;
}
interface ObjectMethod extends BaseNode {
    type: "ObjectMethod";
    kind: "method" | "get" | "set";
    key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral;
    params: Array<Identifier | Pattern | RestElement>;
    body: BlockStatement;
    computed: boolean;
    generator: boolean;
    async: boolean;
    decorators?: Array<Decorator> | null;
    returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
    typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
}
interface ObjectProperty extends BaseNode {
    type: "ObjectProperty";
    key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral | DecimalLiteral | PrivateName;
    value: Expression | PatternLike;
    computed: boolean;
    shorthand: boolean;
    decorators?: Array<Decorator> | null;
}
interface RestElement extends BaseNode {
    type: "RestElement";
    argument: LVal;
    decorators?: Array<Decorator> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
/**
 * @deprecated Use `RestElement`
 */
interface RestProperty extends BaseNode {
    type: "RestProperty";
    argument: LVal;
    decorators?: Array<Decorator> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface ReturnStatement extends BaseNode {
    type: "ReturnStatement";
    argument?: Expression | null;
}
interface SequenceExpression extends BaseNode {
    type: "SequenceExpression";
    expressions: Array<Expression>;
}
interface ParenthesizedExpression extends BaseNode {
    type: "ParenthesizedExpression";
    expression: Expression;
}
interface SwitchCase extends BaseNode {
    type: "SwitchCase";
    test?: Expression | null;
    consequent: Array<Statement>;
}
interface SwitchStatement extends BaseNode {
    type: "SwitchStatement";
    discriminant: Expression;
    cases: Array<SwitchCase>;
}
interface ThisExpression extends BaseNode {
    type: "ThisExpression";
}
interface ThrowStatement extends BaseNode {
    type: "ThrowStatement";
    argument: Expression;
}
interface TryStatement extends BaseNode {
    type: "TryStatement";
    block: BlockStatement;
    handler?: CatchClause | null;
    finalizer?: BlockStatement | null;
}
interface UnaryExpression extends BaseNode {
    type: "UnaryExpression";
    operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof";
    argument: Expression;
    prefix: boolean;
}
interface UpdateExpression extends BaseNode {
    type: "UpdateExpression";
    operator: "++" | "--";
    argument: Expression;
    prefix: boolean;
}
interface VariableDeclaration extends BaseNode {
    type: "VariableDeclaration";
    kind: "var" | "let" | "const" | "using" | "await using";
    declarations: Array<VariableDeclarator>;
    declare?: boolean | null;
}
interface VariableDeclarator extends BaseNode {
    type: "VariableDeclarator";
    id: LVal;
    init?: Expression | null;
    definite?: boolean | null;
}
interface WhileStatement extends BaseNode {
    type: "WhileStatement";
    test: Expression;
    body: Statement;
}
interface WithStatement extends BaseNode {
    type: "WithStatement";
    object: Expression;
    body: Statement;
}
interface AssignmentPattern extends BaseNode {
    type: "AssignmentPattern";
    left: Identifier | ObjectPattern | ArrayPattern | MemberExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
    right: Expression;
    decorators?: Array<Decorator> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface ArrayPattern extends BaseNode {
    type: "ArrayPattern";
    elements: Array<null | PatternLike | LVal>;
    decorators?: Array<Decorator> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface ArrowFunctionExpression extends BaseNode {
    type: "ArrowFunctionExpression";
    params: Array<Identifier | Pattern | RestElement>;
    body: BlockStatement | Expression;
    async: boolean;
    expression: boolean;
    generator?: boolean;
    predicate?: DeclaredPredicate | InferredPredicate | null;
    returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
    typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
}
interface ClassBody extends BaseNode {
    type: "ClassBody";
    body: Array<ClassMethod | ClassPrivateMethod | ClassProperty | ClassPrivateProperty | ClassAccessorProperty | TSDeclareMethod | TSIndexSignature | StaticBlock>;
}
interface ClassExpression extends BaseNode {
    type: "ClassExpression";
    id?: Identifier | null;
    superClass?: Expression | null;
    body: ClassBody;
    decorators?: Array<Decorator> | null;
    implements?: Array<TSExpressionWithTypeArguments | ClassImplements> | null;
    mixins?: InterfaceExtends | null;
    superTypeParameters?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
    typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
}
interface ClassDeclaration extends BaseNode {
    type: "ClassDeclaration";
    id?: Identifier | null;
    superClass?: Expression | null;
    body: ClassBody;
    decorators?: Array<Decorator> | null;
    abstract?: boolean | null;
    declare?: boolean | null;
    implements?: Array<TSExpressionWithTypeArguments | ClassImplements> | null;
    mixins?: InterfaceExtends | null;
    superTypeParameters?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
    typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
}
interface ExportAllDeclaration extends BaseNode {
    type: "ExportAllDeclaration";
    source: StringLiteral;
    /** @deprecated */
    assertions?: Array<ImportAttribute> | null;
    attributes?: Array<ImportAttribute> | null;
    exportKind?: "type" | "value" | null;
}
interface ExportDefaultDeclaration extends BaseNode {
    type: "ExportDefaultDeclaration";
    declaration: TSDeclareFunction | FunctionDeclaration | ClassDeclaration | Expression;
    exportKind?: "value" | null;
}
interface ExportNamedDeclaration extends BaseNode {
    type: "ExportNamedDeclaration";
    declaration?: Declaration | null;
    specifiers: Array<ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier>;
    source?: StringLiteral | null;
    /** @deprecated */
    assertions?: Array<ImportAttribute> | null;
    attributes?: Array<ImportAttribute> | null;
    exportKind?: "type" | "value" | null;
}
interface ExportSpecifier extends BaseNode {
    type: "ExportSpecifier";
    local: Identifier;
    exported: Identifier | StringLiteral;
    exportKind?: "type" | "value" | null;
}
interface ForOfStatement extends BaseNode {
    type: "ForOfStatement";
    left: VariableDeclaration | LVal;
    right: Expression;
    body: Statement;
    await: boolean;
}
interface ImportDeclaration extends BaseNode {
    type: "ImportDeclaration";
    specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>;
    source: StringLiteral;
    /** @deprecated */
    assertions?: Array<ImportAttribute> | null;
    attributes?: Array<ImportAttribute> | null;
    importKind?: "type" | "typeof" | "value" | null;
    module?: boolean | null;
    phase?: "source" | "defer" | null;
}
interface ImportDefaultSpecifier extends BaseNode {
    type: "ImportDefaultSpecifier";
    local: Identifier;
}
interface ImportNamespaceSpecifier extends BaseNode {
    type: "ImportNamespaceSpecifier";
    local: Identifier;
}
interface ImportSpecifier extends BaseNode {
    type: "ImportSpecifier";
    local: Identifier;
    imported: Identifier | StringLiteral;
    importKind?: "type" | "typeof" | "value" | null;
}
interface ImportExpression extends BaseNode {
    type: "ImportExpression";
    source: Expression;
    options?: Expression | null;
    phase?: "source" | "defer" | null;
}
interface MetaProperty extends BaseNode {
    type: "MetaProperty";
    meta: Identifier;
    property: Identifier;
}
interface ClassMethod extends BaseNode {
    type: "ClassMethod";
    kind: "get" | "set" | "method" | "constructor";
    key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
    params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
    body: BlockStatement;
    computed: boolean;
    static: boolean;
    generator: boolean;
    async: boolean;
    abstract?: boolean | null;
    access?: "public" | "private" | "protected" | null;
    accessibility?: "public" | "private" | "protected" | null;
    decorators?: Array<Decorator> | null;
    optional?: boolean | null;
    override?: boolean;
    returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
    typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
}
interface ObjectPattern extends BaseNode {
    type: "ObjectPattern";
    properties: Array<RestElement | ObjectProperty>;
    decorators?: Array<Decorator> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface SpreadElement extends BaseNode {
    type: "SpreadElement";
    argument: Expression;
}
/**
 * @deprecated Use `SpreadElement`
 */
interface SpreadProperty extends BaseNode {
    type: "SpreadProperty";
    argument: Expression;
}
interface Super extends BaseNode {
    type: "Super";
}
interface TaggedTemplateExpression extends BaseNode {
    type: "TaggedTemplateExpression";
    tag: Expression;
    quasi: TemplateLiteral;
    typeParameters?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
}
interface TemplateElement extends BaseNode {
    type: "TemplateElement";
    value: {
        raw: string;
        cooked?: string;
    };
    tail: boolean;
}
interface TemplateLiteral extends BaseNode {
    type: "TemplateLiteral";
    quasis: Array<TemplateElement>;
    expressions: Array<Expression | TSType>;
}
interface YieldExpression extends BaseNode {
    type: "YieldExpression";
    argument?: Expression | null;
    delegate: boolean;
}
interface AwaitExpression extends BaseNode {
    type: "AwaitExpression";
    argument: Expression;
}
interface Import extends BaseNode {
    type: "Import";
}
interface BigIntLiteral extends BaseNode {
    type: "BigIntLiteral";
    value: string;
}
interface ExportNamespaceSpecifier extends BaseNode {
    type: "ExportNamespaceSpecifier";
    exported: Identifier;
}
interface OptionalMemberExpression extends BaseNode {
    type: "OptionalMemberExpression";
    object: Expression;
    property: Expression | Identifier;
    computed: boolean;
    optional: boolean;
}
interface OptionalCallExpression extends BaseNode {
    type: "OptionalCallExpression";
    callee: Expression;
    arguments: Array<Expression | SpreadElement | ArgumentPlaceholder>;
    optional: boolean;
    typeArguments?: TypeParameterInstantiation | null;
    typeParameters?: TSTypeParameterInstantiation | null;
}
interface ClassProperty extends BaseNode {
    type: "ClassProperty";
    key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | 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;
    declare?: boolean | null;
    definite?: boolean | null;
    optional?: boolean | null;
    override?: boolean;
    readonly?: boolean | null;
    variance?: Variance | null;
}
interface ClassAccessorProperty extends BaseNode {
    type: "ClassAccessorProperty";
    key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression | PrivateName;
    value?: Expression | null;
    typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
    decorators?: Array<Decorator> | null;
    computed: boolean;
    static: boolean;
    abstract?: boolean | null;
    accessibility?: "public" | "private" | "protected" | null;
    declare?: boolean | null;
    definite?: boolean | null;
    optional?: boolean | null;
    override?: boolean;
    readonly?: boolean | null;
    variance?: Variance | null;
}
interface ClassPrivateProperty extends BaseNode {
    type: "ClassPrivateProperty";
    key: PrivateName;
    value?: Expression | null;
    decorators?: Array<Decorator> | null;
    static: boolean;
    definite?: boolean | null;
    readonly?: boolean | null;
    typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
    variance?: Variance | null;
}
interface ClassPrivateMethod extends BaseNode {
    type: "ClassPrivateMethod";
    kind: "get" | "set" | "method";
    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;
    override?: boolean;
    returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
    typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
}
interface PrivateName extends BaseNode {
    type: "PrivateName";
    id: Identifier;
}
interface StaticBlock extends BaseNode {
    type: "StaticBlock";
    body: Array<Statement>;
}
interface AnyTypeAnnotation extends BaseNode {
    type: "AnyTypeAnnotation";
}
interface ArrayTypeAnnotation extends BaseNode {
    type: "ArrayTypeAnnotation";
    elementType: FlowType;
}
interface BooleanTypeAnnotation extends BaseNode {
    type: "BooleanTypeAnnotation";
}
interface BooleanLiteralTypeAnnotation extends BaseNode {
    type: "BooleanLiteralTypeAnnotation";
    value: boolean;
}
interface NullLiteralTypeAnnotation extends BaseNode {
    type: "NullLiteralTypeAnnotation";
}
interface ClassImplements extends BaseNode {
    type: "ClassImplements";
    id: Identifier;
    typeParameters?: TypeParameterInstantiation | null;
}
interface DeclareClass extends BaseNode {
    type: "DeclareClass";
    id: Identifier;
    typeParameters?: TypeParameterDeclaration | null;
    extends?: Array<InterfaceExtends> | null;
    body: ObjectTypeAnnotation;
    implements?: Array<ClassImplements> | null;
    mixins?: Array<InterfaceExtends> | null;
}
interface DeclareFunction extends BaseNode {
    type: "DeclareFunction";
    id: Identifier;
    predicate?: DeclaredPredicate | null;
}
interface DeclareInterface extends BaseNode {
    type: "DeclareInterface";
    id: Identifier;
    typeParameters?: TypeParameterDeclaration | null;
    extends?: Array<InterfaceExtends> | null;
    body: ObjectTypeAnnotation;
}
interface DeclareModule extends BaseNode {
    type: "DeclareModule";
    id: Identifier | StringLiteral;
    body: BlockStatement;
    kind?: "CommonJS" | "ES" | null;
}
interface DeclareModuleExports extends BaseNode {
    type: "DeclareModuleExports";
    typeAnnotation: TypeAnnotation;
}
interface DeclareTypeAlias extends BaseNode {
    type: "DeclareTypeAlias";
    id: Identifier;
    typeParameters?: TypeParameterDeclaration | null;
    right: FlowType;
}
interface DeclareOpaqueType extends BaseNode {
    type: "DeclareOpaqueType";
    id: Identifier;
    typeParameters?: TypeParameterDeclaration | null;
    supertype?: FlowType | null;
    impltype?: FlowType | null;
}
interface DeclareVariable extends BaseNode {
    type: "DeclareVariable";
    id: Identifier;
}
interface DeclareExportDeclaration extends BaseNode {
    type: "DeclareExportDeclaration";
    declaration?: Flow | null;
    specifiers?: Array<ExportSpecifier | ExportNamespaceSpecifier> | null;
    source?: StringLiteral | null;
    attributes?: Array<ImportAttribute> | null;
    /** @deprecated */
    assertions?: Array<ImportAttribute> | null;
    default?: boolean | null;
}
interface DeclareExportAllDeclaration extends BaseNode {
    type: "DeclareExportAllDeclaration";
    source: StringLiteral;
    attributes?: Array<ImportAttribute> | null;
    /** @deprecated */
    assertions?: Array<ImportAttribute> | null;
    exportKind?: "type" | "value" | null;
}
interface DeclaredPredicate extends BaseNode {
    type: "DeclaredPredicate";
    value: Flow;
}
interface ExistsTypeAnnotation extends BaseNode {
    type: "ExistsTypeAnnotation";
}
interface FunctionTypeAnnotation extends BaseNode {
    type: "FunctionTypeAnnotation";
    typeParameters?: TypeParameterDeclaration | null;
    params: Array<FunctionTypeParam>;
    rest?: FunctionTypeParam | null;
    returnType: FlowType;
    this?: FunctionTypeParam | null;
}
interface FunctionTypeParam extends BaseNode {
    type: "FunctionTypeParam";
    name?: Identifier | null;
    typeAnnotation: FlowType;
    optional?: boolean | null;
}
interface GenericTypeAnnotation extends BaseNode {
    type: "GenericTypeAnnotation";
    id: Identifier | QualifiedTypeIdentifier;
    typeParameters?: TypeParameterInstantiation | null;
}
interface InferredPredicate extends BaseNode {
    type: "InferredPredicate";
}
interface InterfaceExtends extends BaseNode {
    type: "InterfaceExtends";
    id: Identifier | QualifiedTypeIdentifier;
    typeParameters?: TypeParameterInstantiation | null;
}
interface InterfaceDeclaration extends BaseNode {
    type: "InterfaceDeclaration";
    id: Identifier;
    typeParameters?: TypeParameterDeclaration | null;
    extends?: Array<InterfaceExtends> | null;
    body: ObjectTypeAnnotation;
}
interface InterfaceTypeAnnotation extends BaseNode {
    type: "InterfaceTypeAnnotation";
    extends?: Array<InterfaceExtends> | null;
    body: ObjectTypeAnnotation;
}
interface IntersectionTypeAnnotation extends BaseNode {
    type: "IntersectionTypeAnnotation";
    types: Array<FlowType>;
}
interface MixedTypeAnnotation extends BaseNode {
    type: "MixedTypeAnnotation";
}
interface EmptyTypeAnnotation extends BaseNode {
    type: "EmptyTypeAnnotation";
}
interface NullableTypeAnnotation extends BaseNode {
    type: "NullableTypeAnnotation";
    typeAnnotation: FlowType;
}
interface NumberLiteralTypeAnnotation extends BaseNode {
    type: "NumberLiteralTypeAnnotation";
    value: number;
}
interface NumberTypeAnnotation extends BaseNode {
    type: "NumberTypeAnnotation";
}
interface ObjectTypeAnnotation extends BaseNode {
    type: "ObjectTypeAnnotation";
    properties: Array<ObjectTypeProperty | ObjectTypeSpreadProperty>;
    indexers?: Array<ObjectTypeIndexer>;
    callProperties?: Array<ObjectTypeCallProperty>;
    internalSlots?: Array<ObjectTypeInternalSlot>;
    exact: boolean;
    inexact?: boolean | null;
}
interface ObjectTypeInternalSlot extends BaseNode {
    type: "ObjectTypeInternalSlot";
    id: Identifier;
    value: FlowType;
    optional: boolean;
    static: boolean;
    method: boolean;
}
interface ObjectTypeCallProperty extends BaseNode {
    type: "ObjectTypeCallProperty";
    value: FlowType;
    static: boolean;
}
interface ObjectTypeIndexer extends BaseNode {
    type: "ObjectTypeIndexer";
    id?: Identifier | null;
    key: FlowType;
    value: FlowType;
    variance?: Variance | null;
    static: boolean;
}
interface ObjectTypeProperty extends BaseNode {
    type: "ObjectTypeProperty";
    key: Identifier | StringLiteral;
    value: FlowType;
    variance?: Variance | null;
    kind: "init" | "get" | "set";
    method: boolean;
    optional: boolean;
    proto: boolean;
    static: boolean;
}
interface ObjectTypeSpreadProperty extends BaseNode {
    type: "ObjectTypeSpreadProperty";
    argument: FlowType;
}
interface OpaqueType extends BaseNode {
    type: "OpaqueType";
    id: Identifier;
    typeParameters?: TypeParameterDeclaration | null;
    supertype?: FlowType | null;
    impltype: FlowType;
}
interface QualifiedTypeIdentifier extends BaseNode {
    type: "QualifiedTypeIdentifier";
    id: Identifier;
    qualification: Identifier | QualifiedTypeIdentifier;
}
interface StringLiteralTypeAnnotation extends BaseNode {
    type: "StringLiteralTypeAnnotation";
    value: string;
}
interface StringTypeAnnotation extends BaseNode {
    type: "StringTypeAnnotation";
}
interface SymbolTypeAnnotation extends BaseNode {
    type: "SymbolTypeAnnotation";
}
interface ThisTypeAnnotation extends BaseNode {
    type: "ThisTypeAnnotation";
}
interface TupleTypeAnnotation extends BaseNode {
    type: "TupleTypeAnnotation";
    types: Array<FlowType>;
}
interface TypeofTypeAnnotation extends BaseNode {
    type: "TypeofTypeAnnotation";
    argument: FlowType;
}
interface TypeAlias extends BaseNode {
    type: "TypeAlias";
    id: Identifier;
    typeParameters?: TypeParameterDeclaration | null;
    right: FlowType;
}
interface TypeAnnotation extends BaseNode {
    type: "TypeAnnotation";
    typeAnnotation: FlowType;
}
interface TypeCastExpression extends BaseNode {
    type: "TypeCastExpression";
    expression: Expression;
    typeAnnotation: TypeAnnotation;
}
interface TypeParameter extends BaseNode {
    type: "TypeParameter";
    bound?: TypeAnnotation | null;
    default?: FlowType | null;
    variance?: Variance | null;
    name: string;
}
interface TypeParameterDeclaration extends BaseNode {
    type: "TypeParameterDeclaration";
    params: Array<TypeParameter>;
}
interface TypeParameterInstantiation extends BaseNode {
    type: "TypeParameterInstantiation";
    params: Array<FlowType>;
}
interface UnionTypeAnnotation extends BaseNode {
    type: "UnionTypeAnnotation";
    types: Array<FlowType>;
}
interface Variance extends BaseNode {
    type: "Variance";
    kind: "minus" | "plus";
}
interface VoidTypeAnnotation extends BaseNode {
    type: "VoidTypeAnnotation";
}
interface EnumDeclaration extends BaseNode {
    type: "EnumDeclaration";
    id: Identifier;
    body: EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody;
}
interface EnumBooleanBody extends BaseNode {
    type: "EnumBooleanBody";
    members: Array<EnumBooleanMember>;
    explicitType: boolean;
    hasUnknownMembers: boolean;
}
interface EnumNumberBody extends BaseNode {
    type: "EnumNumberBody";
    members: Array<EnumNumberMember>;
    explicitType: boolean;
    hasUnknownMembers: boolean;
}
interface EnumStringBody extends BaseNode {
    type: "EnumStringBody";
    members: Array<EnumStringMember | EnumDefaultedMember>;
    explicitType: boolean;
    hasUnknownMembers: boolean;
}
interface EnumSymbolBody extends BaseNode {
    type: "EnumSymbolBody";
    members: Array<EnumDefaultedMember>;
    hasUnknownMembers: boolean;
}
interface EnumBooleanMember extends BaseNode {
    type: "EnumBooleanMember";
    id: Identifier;
    init: BooleanLiteral;
}
interface EnumNumberMember extends BaseNode {
    type: "EnumNumberMember";
    id: Identifier;
    init: NumericLiteral;
}
interface EnumStringMember extends BaseNode {
    type: "EnumStringMember";
    id: Identifier;
    init: StringLiteral;
}
interface EnumDefaultedMember extends BaseNode {
    type: "EnumDefaultedMember";
    id: Identifier;
}
interface IndexedAccessType extends BaseNode {
    type: "IndexedAccessType";
    objectType: FlowType;
    indexType: FlowType;
}
interface OptionalIndexedAccessType extends BaseNode {
    type: "OptionalIndexedAccessType";
    objectType: FlowType;
    indexType: FlowType;
    optional: boolean;
}
interface JSXAttribute extends BaseNode {
    type: "JSXAttribute";
    name: JSXIdentifier | JSXNamespacedName;
    value?: JSXElement | JSXFragment | StringLiteral | JSXExpressionContainer | null;
}
interface JSXClosingElement extends BaseNode {
    type: "JSXClosingElement";
    name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
}
interface JSXElement extends BaseNode {
    type: "JSXElement";
    openingElement: JSXOpeningElement;
    closingElement?: JSXClosingElement | null;
    children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>;
    selfClosing?: boolean | null;
}
interface JSXEmptyExpression extends BaseNode {
    type: "JSXEmptyExpression";
}
interface JSXExpressionContainer extends BaseNode {
    type: "JSXExpressionContainer";
    expression: Expression | JSXEmptyExpression;
}
interface JSXSpreadChild extends BaseNode {
    type: "JSXSpreadChild";
    expression: Expression;
}
interface JSXIdentifier extends BaseNode {
    type: "JSXIdentifier";
    name: string;
}
interface JSXMemberExpression extends BaseNode {
    type: "JSXMemberExpression";
    object: JSXMemberExpression | JSXIdentifier;
    property: JSXIdentifier;
}
interface JSXNamespacedName extends BaseNode {
    type: "JSXNamespacedName";
    namespace: JSXIdentifier;
    name: JSXIdentifier;
}
interface JSXOpeningElement extends BaseNode {
    type: "JSXOpeningElement";
    name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
    attributes: Array<JSXAttribute | JSXSpreadAttribute>;
    selfClosing: boolean;
    typeArguments?: TypeParameterInstantiation | null;
    typeParameters?: TSTypeParameterInstantiation | null;
}
interface JSXSpreadAttribute extends BaseNode {
    type: "JSXSpreadAttribute";
    argument: Expression;
}
interface JSXText extends BaseNode {
    type: "JSXText";
    value: string;
}
interface JSXFragment extends BaseNode {
    type: "JSXFragment";
    openingFragment: JSXOpeningFragment;
    closingFragment: JSXClosingFragment;
    children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>;
}
interface JSXOpeningFragment extends BaseNode {
    type: "JSXOpeningFragment";
}
interface JSXClosingFragment extends BaseNode {
    type: "JSXClosingFragment";
}
interface Noop extends BaseNode {
    type: "Noop";
}
interface Placeholder extends BaseNode {
    type: "Placeholder";
    expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern";
    name: Identifier;
    decorators?: Array<Decorator> | null;
    optional?: boolean | null;
    typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
}
interface V8IntrinsicIdentifier extends BaseNode {
    type: "V8IntrinsicIdentifier";
    name: string;
}
interface ArgumentPlaceholder extends BaseNode {
    type: "ArgumentPlaceholder";
}
interface BindExpression extends BaseNode {
    type: "BindExpression";
    object: Expression;
    callee: Expression;
}
interface ImportAttribute extends BaseNode {
    type: "ImportAttribute";
    key: Identifier | StringLiteral;
    value: StringLiteral;
}
interface Decorator extends BaseNode {
    type: "Decorator";
    expression: Expression;
}
interface DoExpression extends BaseNode {
    type: "DoExpression";
    body: BlockStatement;
    async: boolean;
}
interface ExportDefaultSpecifier extends BaseNode {
    type: "ExportDefaultSpecifier";
    exported: Identifier;
}
interface RecordExpression extends BaseNode {
    type: "RecordExpression";
    properties: Array<ObjectProperty | SpreadElement>;
}
interface TupleExpression extends BaseNode {
    type: "TupleExpression";
    elements: Array<Expression | SpreadElement>;
}
interface DecimalLiteral extends BaseNode {
    type: "DecimalLiteral";
    value: string;
}
interface ModuleExpression extends BaseNode {
    type: "ModuleExpression";
    body: Program;
}
interface TopicReference extends BaseNode {
    type: "TopicReference";
}
interface PipelineTopicExpression extends BaseNode {
    type: "PipelineTopicExpression";
    expression: Expression;
}
interface PipelineBareFunction extends BaseNode {
    type: "PipelineBareFunction";
    callee: Expression;
}
interface PipelinePrimaryTopicReference extends BaseNode {
    type: "PipelinePrimaryTopicReference";
}
interface TSParameterProperty extends BaseNode {
    type: "TSParameterProperty";
    parameter: Identifier | AssignmentPattern;
    accessibility?: "public" | "private" | "protected" | null;
    decorators?: Array<Decorator> | null;
    override?: boolean | null;
    readonly?: boolean | null;
}
interface TSDeclareFunction extends BaseNode {
    type: "TSDeclareFunction";
    id?: Identifier | null;
    typeParameters?: TSTypeParameterDeclaration | Noop | null;
    params: Array<Identifier | Pattern | RestElement>;
    returnType?: TSTypeAnnotation | Noop | null;
    async?: boolean;
    declare?: boolean | null;
    generator?: boolean;
}
interface TSDeclareMethod extends BaseNode {
    type: "TSDeclareMethod";
    decorators?: Array<Decorator> | null;
    key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
    typeParameters?: TSTypeParameterDeclaration | Noop | null;
    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;
    override?: boolean;
    static?: boolean;
}
interface TSQualifiedName extends BaseNode {
    type: "TSQualifiedName";
    left: TSEntityName;
    right: Identifier;
}
interface TSCallSignatureDeclaration extends BaseNode {
    type: "TSCallSignatureDeclaration";
    typeParameters?: TSTypeParameterDeclaration | null;
    parameters: Array<ArrayPattern | Identifier | ObjectPattern | RestElement>;
    typeAnnotation?: TSTypeAnnotation | null;
}
interface TSConstructSignatureDeclaration extends BaseNode {
    type: "TSConstructSignatureDeclaration";
    typeParameters?: TSTypeParameterDeclaration | null;
    parameters: Array<ArrayPattern | Identifier | ObjectPattern | RestElement>;
    typeAnnotation?: TSTypeAnnotation | null;
}
interface TSPropertySignature extends BaseNode {
    type: "TSPropertySignature";
    key: Expression;
    typeAnnotation?: TSTypeAnnotation | null;
    computed?: boolean;
    kind: "get" | "set";
    optional?: boolean | null;
    readonly?: boolean | null;
}
interface TSMethodSignature extends BaseNode {
    type: "TSMethodSignature";
    key: Expression;
    typeParameters?: TSTypeParameterDeclaration | null;
    parameters: Array<ArrayPattern | Identifier | ObjectPattern | RestElement>;
    typeAnnotation?: TSTypeAnnotation | null;
    computed?: boolean;
    kind: "method" | "get" | "set";
    optional?: boolean | null;
}
interface TSIndexSignature extends BaseNode {
    type: "TSIndexSignature";
    parameters: Array<Identifier>;
    typeAnnotation?: TSTypeAnnotation | null;
    readonly?: boolean | null;
    static?: boolean | null;
}
interface TSAnyKeyword extends BaseNode {
    type: "TSAnyKeyword";
}
interface TSBooleanKeyword extends BaseNode {
    type: "TSBooleanKeyword";
}
interface TSBigIntKeyword extends BaseNode {
    type: "TSBigIntKeyword";
}
interface TSIntrinsicKeyword extends BaseNode {
    type: "TSIntrinsicKeyword";
}
interface TSNeverKeyword extends BaseNode {
    type: "TSNeverKeyword";
}
interface TSNullKeyword extends BaseNode {
    type: "TSNullKeyword";
}
interface TSNumberKeyword extends BaseNode {
    type: "TSNumberKeyword";
}
interface TSObjectKeyword extends BaseNode {
    type: "TSObjectKeyword";
}
interface TSStringKeyword extends BaseNode {
    type: "TSStringKeyword";
}
interface TSSymbolKeyword extends BaseNode {
    type: "TSSymbolKeyword";
}
interface TSUndefinedKeyword extends BaseNode {
    type: "TSUndefinedKeyword";
}
interface TSUnknownKeyword extends BaseNode {
    type: "TSUnknownKeyword";
}
interface TSVoidKeyword extends BaseNode {
    type: "TSVoidKeyword";
}
interface TSThisType extends BaseNode {
    type: "TSThisType";
}
interface TSFunctionType extends BaseNode {
    type: "TSFunctionType";
    typeParameters?: TSTypeParameterDeclaration | null;
    parameters: Array<ArrayPattern | Identifier | ObjectPattern | RestElement>;
    typeAnnotation?: TSTypeAnnotation | null;
}
interface TSConstructorType extends BaseNode {
    type: "TSConstructorType";
    typeParameters?: TSTypeParameterDeclaration | null;
    parameters: Array<ArrayPattern | Identifier | ObjectPattern | RestElement>;
    typeAnnotation?: TSTypeAnnotation | null;
    abstract?: boolean | null;
}
interface TSTypeReference extends BaseNode {
    type: "TSTypeReference";
    typeName: TSEntityName;
    typeParameters?: TSTypeParameterInstantiation | null;
}
interface TSTypePredicate extends BaseNode {
    type: "TSTypePredicate";
    parameterName: Identifier | TSThisType;
    typeAnnotation?: TSTypeAnnotation | null;
    asserts?: boolean | null;
}
interface TSTypeQuery extends BaseNode {
    type: "TSTypeQuery";
    exprName: TSEntityName | TSImportType;
    typeParameters?: TSTypeParameterInstantiation | null;
}
interface TSTypeLiteral extends BaseNode {
    type: "TSTypeLiteral";
    members: Array<TSTypeElement>;
}
interface TSArrayType extends BaseNode {
    type: "TSArrayType";
    elementType: TSType;
}
interface TSTupleType extends BaseNode {
    type: "TSTupleType";
    elementTypes: Array<TSType | TSNamedTupleMember>;
}
interface TSOptionalType extends BaseNode {
    type: "TSOptionalType";
    typeAnnotation: TSType;
}
interface TSRestType extends BaseNode {
    type: "TSRestType";
    typeAnnotation: TSType;
}
interface TSNamedTupleMember extends BaseNode {
    type: "TSNamedTupleMember";
    label: Identifier;
    elementType: TSType;
    optional: boolean;
}
interface TSUnionType extends BaseNode {
    type: "TSUnionType";
    types: Array<TSType>;
}
interface TSIntersectionType extends BaseNode {
    type: "TSIntersectionType";
    types: Array<TSType>;
}
interface TSConditionalType extends BaseNode {
    type: "TSConditionalType";
    checkType: TSType;
    extendsType: TSType;
    trueType: TSType;
    falseType: TSType;
}
interface TSInferType extends BaseNode {
    type: "TSInferType";
    typeParameter: TSTypeParameter;
}
interface TSParenthesizedType extends BaseNode {
    type: "TSParenthesizedType";
    typeAnnotation: TSType;
}
interface TSTypeOperator extends BaseNode {
    type: "TSTypeOperator";
    typeAnnotation: TSType;
    operator: string;
}
interface TSIndexedAccessType extends BaseNode {
    type: "TSIndexedAccessType";
    objectType: TSType;
    indexType: TSType;
}
interface TSMappedType extends BaseNode {
    type: "TSMappedType";
    typeParameter: TSTypeParameter;
    typeAnnotation?: TSType | null;
    nameType?: TSType | null;
    optional?: true | false | "+" | "-" | null;
    readonly?: true | false | "+" | "-" | null;
}
interface TSLiteralType extends BaseNode {
    type: "TSLiteralType";
    literal: NumericLiteral | StringLiteral | BooleanLiteral | BigIntLiteral | TemplateLiteral | UnaryExpression;
}
interface TSExpressionWithTypeArguments extends BaseNode {
    type: "TSExpressionWithTypeArguments";
    expression: TSEntityName;
    typeParameters?: TSTypeParameterInstantiation | null;
}
interface TSInterfaceDeclaration extends BaseNode {
    type: "TSInterfaceDeclaration";
    id: Identifier;
    typeParameters?: TSTypeParameterDeclaration | null;
    extends?: Array<TSExpressionWithTypeArguments> | null;
    body: TSInterfaceBody;
    declare?: boolean | null;
}
interface TSInterfaceBody extends BaseNode {
    type: "TSInterfaceBody";
    body: Array<TSTypeElement>;
}
interface TSTypeAliasDeclaration extends BaseNode {
    type: "TSTypeAliasDeclaration";
    id: Identifier;
    typeParameters?: TSTypeParameterDeclaration | null;
    typeAnnotation: TSType;
    declare?: boolean | null;
}
interface TSInstantiationExpression extends BaseNode {
    type: "TSInstantiationExpression";
    expression: Expression;
    typeParameters?: TSTypeParameterInstantiation | null;
}
interface TSAsExpression extends BaseNode {
    type: "TSAsExpression";
    expression: Expression;
    typeAnnotation: TSType;
}
interface TSSatisfiesExpression extends BaseNode {
    type: "TSSatisfiesExpression";
    expression: Expression;
    typeAnnotation: TSType;
}
interface TSTypeAssertion extends BaseNode {
    type: "TSTypeAssertion";
    typeAnnotation: TSType;
    expression: Expression;
}
interface TSEnumBody extends BaseNode {
    type: "TSEnumBody";
    members: Array<TSEnumMember>;
}
interface TSEnumDeclaration extends BaseNode {
    type: "TSEnumDeclaration";
    id: Identifier;
    members: Array<TSEnumMember>;
    body?: TSEnumBody | null;
    const?: boolean | null;
    declare?: boolean | null;
    initializer?: Expression | null;
}
interface TSEnumMember extends BaseNode {
    type: "TSEnumMember";
    id: Identifier | StringLiteral;
    initializer?: Expression | null;
}
interface TSModuleDeclaration extends BaseNode {
    type: "TSModuleDeclaration";
    id: Identifier | StringLiteral;
    body: TSModuleBlock | TSModuleDeclaration;
    declare?: boolean | null;
    global?: boolean | null;
    kind: "global" | "module" | "namespace";
}
interface TSModuleBlock extends BaseNode {
    type: "TSModuleBlock";
    body: Array<Statement>;
}
interface TSImportType extends BaseNode {
    type: "TSImportType";
    argument: StringLiteral;
    qualifier?: TSEntityName | null;
    typeParameters?: TSTypeParameterInstantiation | null;
    options?: Expression | null;
}
interface TSImportEqualsDeclaration extends BaseNode {
    type: "TSImportEqualsDeclaration";
    id: Identifier;
    moduleReference: TSEntityName | TSExternalModuleReference;
    importKind?: "type" | "value" | null;
    isExport: boolean;
}
interface TSExternalModuleReference extends BaseNode {
    type: "TSExternalModuleReference";
    expression: StringLiteral;
}
interface TSNonNullExpression extends BaseNode {
    type: "TSNonNullExpression";
    expression: Expression;
}
interface TSExportAssignment extends BaseNode {
    type: "TSExportAssignment";
    expression: Expression;
}
interface TSNamespaceExportDeclaration extends BaseNode {
    type: "TSNamespaceExportDeclaration";
    id: Identifier;
}
interface TSTypeAnnotation extends BaseNode {
    type: "TSTypeAnnotation";
    typeAnnotation: TSType;
}
interface TSTypeParameterInstantiation extends BaseNode {
    type: "TSTypeParameterInstantiation";
    params: Array<TSType>;
}
interface TSTypeParameterDeclaration extends BaseNode {
    type: "TSTypeParameterDeclaration";
    params: Array<TSTypeParameter>;
}
interface TSTypeParameter extends BaseNode {
    type: "TSTypeParameter";
    constraint?: TSType | null;
    default?: TSType | null;
    name: string;
    const?: boolean | null;
    in?: boolean | null;
    out?: boolean | null;
}
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 | ImportExpression | MetaProperty | Super | TaggedTemplateExpression | TemplateLiteral | YieldExpression | AwaitExpression | Import | BigIntLiteral | OptionalMemberExpression | OptionalCallExpression | TypeCastExpression | JSXElement | JSXFragment | BindExpression | DoExpression | RecordExpression | TupleExpression | DecimalLiteral | ModuleExpression | TopicReference | PipelineTopicExpression | PipelineBareFunction | PipelinePrimaryTopicReference | TSInstantiationExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
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 | EnumDeclaration | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration | TSImportEqualsDeclaration | TSExportAssignment | TSNamespaceExportDeclaration;
type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias | EnumDeclaration | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration;
type PatternLike = Identifier | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
type LVal = Identifier | MemberExpression | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSParameterProperty | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
type TSEntityName = Identifier | TSQualifiedName;
type Pattern = AssignmentPattern | ArrayPattern | ObjectPattern;
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 | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | UnionTypeAnnotation | Variance | VoidTypeAnnotation | EnumDeclaration | EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody | EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember | IndexedAccessType | OptionalIndexedAccessType;
type FlowType = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ExistsTypeAnnotation | FunctionTypeAnnotation | GenericTypeAnnotation | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | StringLiteralTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | UnionTypeAnnotation | VoidTypeAnnotation | IndexedAccessType | OptionalIndexedAccessType;
type TSTypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature;
type TSType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | 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;

// This file is auto-generated! Do not modify it directly.
/* eslint-disable @typescript-eslint/consistent-type-imports, @typescript-eslint/no-redundant-type-constituents */


type BABEL_8_BREAKING = false;
type IF_BABEL_7<V> = false extends BABEL_8_BREAKING ? V : never;

type Plugin =
  | "asyncDoExpressions"
  | IF_BABEL_7<"asyncGenerators">
  | IF_BABEL_7<"bigInt">
  | IF_BABEL_7<"classPrivateMethods">
  | IF_BABEL_7<"classPrivateProperties">
  | IF_BABEL_7<"classProperties">
  | IF_BABEL_7<"classStaticBlock">
  | IF_BABEL_7<"decimal">
  | "decorators-legacy"
  | "deferredImportEvaluation"
  | "decoratorAutoAccessors"
  | "destructuringPrivate"
  | "deprecatedImportAssert"
  | "doExpressions"
  | IF_BABEL_7<"dynamicImport">
  | "explicitResourceManagement"
  | "exportDefaultFrom"
  | IF_BABEL_7<"exportNamespaceFrom">
  | "flow"
  | "flowComments"
  | "functionBind"
  | "functionSent"
  | "importMeta"
  | "jsx"
  | IF_BABEL_7<"jsonStrings">
  | IF_BABEL_7<"logicalAssignment">
  | IF_BABEL_7<"importAssertions">
  | IF_BABEL_7<"importReflection">
  | "moduleBlocks"
  | IF_BABEL_7<"moduleStringNames">
  | IF_BABEL_7<"nullishCoalescingOperator">
  | IF_BABEL_7<"numericSeparator">
  | IF_BABEL_7<"objectRestSpread">
  | IF_BABEL_7<"optionalCatchBinding">
  | IF_BABEL_7<"optionalChaining">
  | "partialApplication"
  | "placeholders"
  | IF_BABEL_7<"privateIn">
  | IF_BABEL_7<"regexpUnicodeSets">
  | "sourcePhaseImports"
  | "throwExpressions"
  | IF_BABEL_7<"topLevelAwait">
  | "v8intrinsic"
  | ParserPluginWithOptions[0];

type ParserPluginWithOptions =
  | ["decorators", DecoratorsPluginOptions]
  | ["estree", { classFeatures?: boolean }]
  | IF_BABEL_7<["importAttributes", { deprecatedAssertSyntax: boolean }]>
  | IF_BABEL_7<["moduleAttributes", { version: "may-2020" }]>
  | ["optionalChainingAssign", { version: "2023-07" }]
  | ["pipelineOperator", PipelineOperatorPluginOptions]
  | ["recordAndTuple", RecordAndTuplePluginOptions]
  | ["flow", FlowPluginOptions]
  | ["typescript", TypeScriptPluginOptions];

type PluginConfig = Plugin | ParserPluginWithOptions;

interface DecoratorsPluginOptions {
  decoratorsBeforeExport?: boolean;
  allowCallParenthesized?: boolean;
}

interface PipelineOperatorPluginOptions {
  proposal: BABEL_8_BREAKING extends false
    ? "minimal" | "fsharp" | "hack" | "smart"
    : "fsharp" | "hack";
  topicToken?: "%" | "#" | "@@" | "^^" | "^";
}

interface RecordAndTuplePluginOptions {
  syntaxType: "bar" | "hash";
}

type FlowPluginOptions = BABEL_8_BREAKING extends true
  ? {
      all?: boolean;
      enums?: boolean;
    }
  : {
      all?: boolean;
    };

interface TypeScriptPluginOptions {
  dts?: boolean;
  disallowAmbiguousJSXLike?: boolean;
}

// Type definitions for @babel/parser
// Project: https://github.com/babel/babel/tree/main/packages/babel-parser
// Definitions by: Troy Gerwien <https://github.com/yortus>
//                 Marvin Hagemeister <https://github.com/marvinhagemeister>
//                 Avi Vahl <https://github.com/AviVahl>
// TypeScript Version: 2.9

/**
 * Parse the provided code as an entire ECMAScript program.
 */
declare function parse(
  input: string,
  options?: ParserOptions
): ParseResult<File>;

/**
 * Parse the provided code as a single expression.
 */
declare function parseExpression(
  input: string,
  options?: ParserOptions
): ParseResult<Expression>;

interface ParserOptions {
  /**
   * By default, import and export declarations can only appear at a program's top level.
   * Setting this option to true allows them anywhere where a statement is allowed.
   */
  allowImportExportEverywhere?: boolean;

  /**
   * By default, await use is not allowed outside of an async function.
   * Set this to true to accept such code.
   */
  allowAwaitOutsideFunction?: boolean;

  /**
   * By default, a return statement at the top level raises an error.
   * Set this to true to accept such code.
   */
  allowReturnOutsideFunction?: boolean;

  /**
   * By default, new.target use is not allowed outside of a function or class.
   * Set this to true to accept such code.
   */
  allowNewTargetOutsideFunction?: boolean;

  allowSuperOutsideMethod?: boolean;

  /**
   * By default, exported identifiers must refer to a declared variable.
   * Set this to true to allow export statements to reference undeclared variables.
   */
  allowUndeclaredExports?: boolean;

  /**
   * By default, Babel parser JavaScript code according to Annex B syntax.
   * Set this to `false` to disable such behavior.
   */
  annexB?: boolean;

  /**
   * By default, Babel attaches comments to adjacent AST nodes.
   * When this option is set to false, comments are not attached.
   * It can provide up to 30% performance improvement when the input code has many comments.
   * @babel/eslint-parser will set it for you.
   * It is not recommended to use attachComment: false with Babel transform,
   * as doing so removes all the comments in output code, and renders annotations such as
   * /* istanbul ignore next *\/ nonfunctional.
   */
  attachComment?: boolean;

  /**
   * By default, Babel always throws an error when it finds some invalid code.
   * When this option is set to true, it will store the parsing error and
   * try to continue parsing the invalid input file.
   */
  errorRecovery?: boolean;

  /**
   * Indicate the mode the code should be parsed in.
   * Can be one of "script", "module", or "unambiguous". Defaults to "script".
   * "unambiguous" will make @babel/parser attempt to guess, based on the presence
   * of ES6 import or export statements.
   * Files with ES6 imports and exports are considered "module" and are otherwise "script".
   */
  sourceType?: "script" | "module" | "unambiguous";

  /**
   * Correlate output AST nodes with their source filename.
   * Useful when generating code and source maps from the ASTs of multiple input files.
   */
  sourceFilename?: string;

  /**
   * By default, all source indexes start from 0.
   * You can provide a start index to alternatively start with.
   * Useful for integration with other source tools.
   */
  startIndex?: number;

  /**
   * By default, the first line of code parsed is treated as line 1.
   * You can provide a line number to alternatively start with.
   * Useful for integration with other source tools.
   */
  startLine?: number;

  /**
   * By default, the parsed code is treated as if it starts from line 1, column 0.
   * You can provide a column number to alternatively start with.
   * Useful for integration with other source tools.
   */
  startColumn?: number;

  /**
   * Array containing the plugins that you want to enable.
   */
  plugins?: ParserPlugin[];

  /**
   * Should the parser work in strict mode.
   * Defaults to true if sourceType === 'module'. Otherwise, false.
   */
  strictMode?: boolean;

  /**
   * Adds a ranges property to each node: [node.start, node.end]
   */
  ranges?: boolean;

  /**
   * Adds all parsed tokens to a tokens property on the File node.
   */
  tokens?: boolean;

  /**
   * By default, the parser adds information about parentheses by setting
   * `extra.parenthesized` to `true` as needed.
   * When this option is `true` the parser creates `ParenthesizedExpression`
   * AST nodes instead of using the `extra` property.
   */
  createParenthesizedExpressions?: boolean;

  /**
   * The default is false in Babel 7 and true in Babel 8
   * Set this to true to parse it as an `ImportExpression` node.
   * Otherwise `import(foo)` is parsed as `CallExpression(Import, [Identifier(foo)])`.
   */
  createImportExpressions?: boolean;
}

type ParserPlugin = PluginConfig;


declare const tokTypes: {
  // todo(flow->ts) real token type
  [name: string]: any;
};

interface ParseError {
  code: string;
  reasonCode: string;
}

type ParseResult<Result> = Result & {
  errors: ParseError[];
};

type babelParser_d_DecoratorsPluginOptions = DecoratorsPluginOptions;
type babelParser_d_FlowPluginOptions = FlowPluginOptions;
type babelParser_d_ParseError = ParseError;
type babelParser_d_ParseResult<Result> = ParseResult<Result>;
type babelParser_d_ParserOptions = ParserOptions;
type babelParser_d_ParserPlugin = ParserPlugin;
type babelParser_d_ParserPluginWithOptions = ParserPluginWithOptions;
type babelParser_d_PipelineOperatorPluginOptions = PipelineOperatorPluginOptions;
type babelParser_d_RecordAndTuplePluginOptions = RecordAndTuplePluginOptions;
type babelParser_d_TypeScriptPluginOptions = TypeScriptPluginOptions;
declare const babelParser_d_parse: typeof parse;
declare const babelParser_d_parseExpression: typeof parseExpression;
declare const babelParser_d_tokTypes: typeof tokTypes;
declare namespace babelParser_d {
  export { type babelParser_d_DecoratorsPluginOptions as DecoratorsPluginOptions, type babelParser_d_FlowPluginOptions as FlowPluginOptions, type babelParser_d_ParseError as ParseError, type babelParser_d_ParseResult as ParseResult, type babelParser_d_ParserOptions as ParserOptions, type babelParser_d_ParserPlugin as ParserPlugin, type babelParser_d_ParserPluginWithOptions as ParserPluginWithOptions, type babelParser_d_PipelineOperatorPluginOptions as PipelineOperatorPluginOptions, type babelParser_d_RecordAndTuplePluginOptions as RecordAndTuplePluginOptions, type babelParser_d_TypeScriptPluginOptions as TypeScriptPluginOptions, babelParser_d_parse as parse, babelParser_d_parseExpression as parseExpression, babelParser_d_tokTypes as tokTypes };
}

declare const parserOptions: ParserOptions;
declare const babelParse: (code: string) => File$1;
interface ASTNode {
    type: string;
}
declare const babelPrint: (ast: ASTNode) => string;
declare const babelParseExpression: (code: string) => ParseResult<Expression$1>;

/**
 * This entry is to ensure we use a single version of Babel across the codebase. This is to prevent
 * issues with multiple versions of Babel being used in the same project. It also prevents us from
 * bundling babel multiple times in the final bundles.
 */

declare const traverse: typeof traverse$1;
declare const generate: typeof generate$1;
declare const BabelFileClass: any;

export { type BabelFile, BabelFileClass, type GeneratorOptions, NodePath, babelParse, babelParseExpression, babelPrint, index_d as core, generate, babelParser_d as parser, parserOptions, transformSync, traverse, index_d$1 as types };
