import { NodePath } from "../lib/node-path"; import { Context } from "../lib/path-visitor"; import { namedTypes } from "./namedTypes"; export interface Visitor { visitPrintable?(this: Context & M, path: NodePath): any; visitSourceLocation?(this: Context & M, path: NodePath): any; visitNode?(this: Context & M, path: NodePath): any; visitComment?(this: Context & M, path: NodePath): any; visitPosition?(this: Context & M, path: NodePath): any; visitFile?(this: Context & M, path: NodePath): any; visitProgram?(this: Context & M, path: NodePath): any; visitStatement?(this: Context & M, path: NodePath): any; visitFunction?(this: Context & M, path: NodePath): any; visitExpression?(this: Context & M, path: NodePath): any; visitPattern?(this: Context & M, path: NodePath): any; visitIdentifier?(this: Context & M, path: NodePath): any; visitBlockStatement?(this: Context & M, path: NodePath): any; visitEmptyStatement?(this: Context & M, path: NodePath): any; visitExpressionStatement?(this: Context & M, path: NodePath): any; visitIfStatement?(this: Context & M, path: NodePath): any; visitLabeledStatement?(this: Context & M, path: NodePath): any; visitBreakStatement?(this: Context & M, path: NodePath): any; visitContinueStatement?(this: Context & M, path: NodePath): any; visitWithStatement?(this: Context & M, path: NodePath): any; visitSwitchStatement?(this: Context & M, path: NodePath): any; visitSwitchCase?(this: Context & M, path: NodePath): any; visitReturnStatement?(this: Context & M, path: NodePath): any; visitThrowStatement?(this: Context & M, path: NodePath): any; visitTryStatement?(this: Context & M, path: NodePath): any; visitCatchClause?(this: Context & M, path: NodePath): any; visitWhileStatement?(this: Context & M, path: NodePath): any; visitDoWhileStatement?(this: Context & M, path: NodePath): any; visitForStatement?(this: Context & M, path: NodePath): any; visitDeclaration?(this: Context & M, path: NodePath): any; visitVariableDeclaration?(this: Context & M, path: NodePath): any; visitForInStatement?(this: Context & M, path: NodePath): any; visitDebuggerStatement?(this: Context & M, path: NodePath): any; visitFunctionDeclaration?(this: Context & M, path: NodePath): any; visitFunctionExpression?(this: Context & M, path: NodePath): any; visitVariableDeclarator?(this: Context & M, path: NodePath): any; visitThisExpression?(this: Context & M, path: NodePath): any; visitArrayExpression?(this: Context & M, path: NodePath): any; visitObjectExpression?(this: Context & M, path: NodePath): any; visitProperty?(this: Context & M, path: NodePath): any; visitLiteral?(this: Context & M, path: NodePath): any; visitSequenceExpression?(this: Context & M, path: NodePath): any; visitUnaryExpression?(this: Context & M, path: NodePath): any; visitBinaryExpression?(this: Context & M, path: NodePath): any; visitAssignmentExpression?(this: Context & M, path: NodePath): any; visitChainElement?(this: Context & M, path: NodePath): any; visitMemberExpression?(this: Context & M, path: NodePath): any; visitUpdateExpression?(this: Context & M, path: NodePath): any; visitLogicalExpression?(this: Context & M, path: NodePath): any; visitConditionalExpression?(this: Context & M, path: NodePath): any; visitNewExpression?(this: Context & M, path: NodePath): any; visitCallExpression?(this: Context & M, path: NodePath): any; visitRestElement?(this: Context & M, path: NodePath): any; visitTypeAnnotation?(this: Context & M, path: NodePath): any; visitTSTypeAnnotation?(this: Context & M, path: NodePath): any; visitSpreadElementPattern?(this: Context & M, path: NodePath): any; visitArrowFunctionExpression?(this: Context & M, path: NodePath): any; visitForOfStatement?(this: Context & M, path: NodePath): any; visitYieldExpression?(this: Context & M, path: NodePath): any; visitGeneratorExpression?(this: Context & M, path: NodePath): any; visitComprehensionBlock?(this: Context & M, path: NodePath): any; visitComprehensionExpression?(this: Context & M, path: NodePath): any; visitObjectProperty?(this: Context & M, path: NodePath): any; visitPropertyPattern?(this: Context & M, path: NodePath): any; visitObjectPattern?(this: Context & M, path: NodePath): any; visitArrayPattern?(this: Context & M, path: NodePath): any; visitSpreadElement?(this: Context & M, path: NodePath): any; visitAssignmentPattern?(this: Context & M, path: NodePath): any; visitMethodDefinition?(this: Context & M, path: NodePath): any; visitClassPropertyDefinition?(this: Context & M, path: NodePath): any; visitClassProperty?(this: Context & M, path: NodePath): any; visitClassBody?(this: Context & M, path: NodePath): any; visitClassDeclaration?(this: Context & M, path: NodePath): any; visitClassExpression?(this: Context & M, path: NodePath): any; visitSuper?(this: Context & M, path: NodePath): any; visitSpecifier?(this: Context & M, path: NodePath): any; visitModuleSpecifier?(this: Context & M, path: NodePath): any; visitImportSpecifier?(this: Context & M, path: NodePath): any; visitImportDefaultSpecifier?(this: Context & M, path: NodePath): any; visitImportNamespaceSpecifier?(this: Context & M, path: NodePath): any; visitImportDeclaration?(this: Context & M, path: NodePath): any; visitExportNamedDeclaration?(this: Context & M, path: NodePath): any; visitExportSpecifier?(this: Context & M, path: NodePath): any; visitExportDefaultDeclaration?(this: Context & M, path: NodePath): any; visitExportAllDeclaration?(this: Context & M, path: NodePath): any; visitTaggedTemplateExpression?(this: Context & M, path: NodePath): any; visitTemplateLiteral?(this: Context & M, path: NodePath): any; visitTemplateElement?(this: Context & M, path: NodePath): any; visitMetaProperty?(this: Context & M, path: NodePath): any; visitAwaitExpression?(this: Context & M, path: NodePath): any; visitSpreadProperty?(this: Context & M, path: NodePath): any; visitSpreadPropertyPattern?(this: Context & M, path: NodePath): any; visitImportExpression?(this: Context & M, path: NodePath): any; visitChainExpression?(this: Context & M, path: NodePath): any; visitOptionalCallExpression?(this: Context & M, path: NodePath): any; visitOptionalMemberExpression?(this: Context & M, path: NodePath): any; visitJSXAttribute?(this: Context & M, path: NodePath): any; visitJSXIdentifier?(this: Context & M, path: NodePath): any; visitJSXNamespacedName?(this: Context & M, path: NodePath): any; visitJSXExpressionContainer?(this: Context & M, path: NodePath): any; visitJSXElement?(this: Context & M, path: NodePath): any; visitJSXFragment?(this: Context & M, path: NodePath): any; visitJSXMemberExpression?(this: Context & M, path: NodePath): any; visitJSXSpreadAttribute?(this: Context & M, path: NodePath): any; visitJSXEmptyExpression?(this: Context & M, path: NodePath): any; visitJSXText?(this: Context & M, path: NodePath): any; visitJSXSpreadChild?(this: Context & M, path: NodePath): any; visitJSXOpeningElement?(this: Context & M, path: NodePath): any; visitJSXClosingElement?(this: Context & M, path: NodePath): any; visitJSXOpeningFragment?(this: Context & M, path: NodePath): any; visitJSXClosingFragment?(this: Context & M, path: NodePath): any; visitDecorator?(this: Context & M, path: NodePath): any; visitPrivateName?(this: Context & M, path: NodePath): any; visitClassPrivateProperty?(this: Context & M, path: NodePath): any; visitTypeParameterDeclaration?(this: Context & M, path: NodePath): any; visitTSTypeParameterDeclaration?(this: Context & M, path: NodePath): any; visitTypeParameterInstantiation?(this: Context & M, path: NodePath): any; visitTSTypeParameterInstantiation?(this: Context & M, path: NodePath): any; visitClassImplements?(this: Context & M, path: NodePath): any; visitTSType?(this: Context & M, path: NodePath): any; visitTSHasOptionalTypeParameterInstantiation?(this: Context & M, path: NodePath): any; visitTSExpressionWithTypeArguments?(this: Context & M, path: NodePath): any; visitFlow?(this: Context & M, path: NodePath): any; visitFlowType?(this: Context & M, path: NodePath): any; visitAnyTypeAnnotation?(this: Context & M, path: NodePath): any; visitEmptyTypeAnnotation?(this: Context & M, path: NodePath): any; visitMixedTypeAnnotation?(this: Context & M, path: NodePath): any; visitVoidTypeAnnotation?(this: Context & M, path: NodePath): any; visitSymbolTypeAnnotation?(this: Context & M, path: NodePath): any; visitNumberTypeAnnotation?(this: Context & M, path: NodePath): any; visitBigIntTypeAnnotation?(this: Context & M, path: NodePath): any; visitNumberLiteralTypeAnnotation?(this: Context & M, path: NodePath): any; visitNumericLiteralTypeAnnotation?(this: Context & M, path: NodePath): any; visitBigIntLiteralTypeAnnotation?(this: Context & M, path: NodePath): any; visitStringTypeAnnotation?(this: Context & M, path: NodePath): any; visitStringLiteralTypeAnnotation?(this: Context & M, path: NodePath): any; visitBooleanTypeAnnotation?(this: Context & M, path: NodePath): any; visitBooleanLiteralTypeAnnotation?(this: Context & M, path: NodePath): any; visitNullableTypeAnnotation?(this: Context & M, path: NodePath): any; visitNullLiteralTypeAnnotation?(this: Context & M, path: NodePath): any; visitNullTypeAnnotation?(this: Context & M, path: NodePath): any; visitThisTypeAnnotation?(this: Context & M, path: NodePath): any; visitExistsTypeAnnotation?(this: Context & M, path: NodePath): any; visitExistentialTypeParam?(this: Context & M, path: NodePath): any; visitFunctionTypeAnnotation?(this: Context & M, path: NodePath): any; visitFunctionTypeParam?(this: Context & M, path: NodePath): any; visitArrayTypeAnnotation?(this: Context & M, path: NodePath): any; visitObjectTypeAnnotation?(this: Context & M, path: NodePath): any; visitObjectTypeProperty?(this: Context & M, path: NodePath): any; visitObjectTypeSpreadProperty?(this: Context & M, path: NodePath): any; visitObjectTypeIndexer?(this: Context & M, path: NodePath): any; visitObjectTypeCallProperty?(this: Context & M, path: NodePath): any; visitObjectTypeInternalSlot?(this: Context & M, path: NodePath): any; visitVariance?(this: Context & M, path: NodePath): any; visitQualifiedTypeIdentifier?(this: Context & M, path: NodePath): any; visitGenericTypeAnnotation?(this: Context & M, path: NodePath): any; visitMemberTypeAnnotation?(this: Context & M, path: NodePath): any; visitUnionTypeAnnotation?(this: Context & M, path: NodePath): any; visitIntersectionTypeAnnotation?(this: Context & M, path: NodePath): any; visitTypeofTypeAnnotation?(this: Context & M, path: NodePath): any; visitTypeParameter?(this: Context & M, path: NodePath): any; visitInterfaceTypeAnnotation?(this: Context & M, path: NodePath): any; visitInterfaceExtends?(this: Context & M, path: NodePath): any; visitInterfaceDeclaration?(this: Context & M, path: NodePath): any; visitDeclareInterface?(this: Context & M, path: NodePath): any; visitTypeAlias?(this: Context & M, path: NodePath): any; visitDeclareTypeAlias?(this: Context & M, path: NodePath): any; visitOpaqueType?(this: Context & M, path: NodePath): any; visitDeclareOpaqueType?(this: Context & M, path: NodePath): any; visitTypeCastExpression?(this: Context & M, path: NodePath): any; visitTupleTypeAnnotation?(this: Context & M, path: NodePath): any; visitDeclareVariable?(this: Context & M, path: NodePath): any; visitDeclareFunction?(this: Context & M, path: NodePath): any; visitFlowPredicate?(this: Context & M, path: NodePath): any; visitDeclareClass?(this: Context & M, path: NodePath): any; visitDeclareModule?(this: Context & M, path: NodePath): any; visitDeclareModuleExports?(this: Context & M, path: NodePath): any; visitDeclareExportDeclaration?(this: Context & M, path: NodePath): any; visitExportBatchSpecifier?(this: Context & M, path: NodePath): any; visitDeclareExportAllDeclaration?(this: Context & M, path: NodePath): any; visitInferredPredicate?(this: Context & M, path: NodePath): any; visitDeclaredPredicate?(this: Context & M, path: NodePath): any; visitEnumDeclaration?(this: Context & M, path: NodePath): any; visitEnumBooleanBody?(this: Context & M, path: NodePath): any; visitEnumNumberBody?(this: Context & M, path: NodePath): any; visitEnumStringBody?(this: Context & M, path: NodePath): any; visitEnumSymbolBody?(this: Context & M, path: NodePath): any; visitEnumBooleanMember?(this: Context & M, path: NodePath): any; visitEnumNumberMember?(this: Context & M, path: NodePath): any; visitEnumStringMember?(this: Context & M, path: NodePath): any; visitEnumDefaultedMember?(this: Context & M, path: NodePath): any; visitExportDeclaration?(this: Context & M, path: NodePath): any; visitBlock?(this: Context & M, path: NodePath): any; visitLine?(this: Context & M, path: NodePath): any; visitNoop?(this: Context & M, path: NodePath): any; visitDoExpression?(this: Context & M, path: NodePath): any; visitBindExpression?(this: Context & M, path: NodePath): any; visitParenthesizedExpression?(this: Context & M, path: NodePath): any; visitExportNamespaceSpecifier?(this: Context & M, path: NodePath): any; visitExportDefaultSpecifier?(this: Context & M, path: NodePath): any; visitCommentBlock?(this: Context & M, path: NodePath): any; visitCommentLine?(this: Context & M, path: NodePath): any; visitDirective?(this: Context & M, path: NodePath): any; visitDirectiveLiteral?(this: Context & M, path: NodePath): any; visitInterpreterDirective?(this: Context & M, path: NodePath): any; visitStringLiteral?(this: Context & M, path: NodePath): any; visitNumericLiteral?(this: Context & M, path: NodePath): any; visitBigIntLiteral?(this: Context & M, path: NodePath): any; visitNullLiteral?(this: Context & M, path: NodePath): any; visitBooleanLiteral?(this: Context & M, path: NodePath): any; visitRegExpLiteral?(this: Context & M, path: NodePath): any; visitObjectMethod?(this: Context & M, path: NodePath): any; visitClassMethod?(this: Context & M, path: NodePath): any; visitClassPrivateMethod?(this: Context & M, path: NodePath): any; visitRestProperty?(this: Context & M, path: NodePath): any; visitForAwaitStatement?(this: Context & M, path: NodePath): any; visitImport?(this: Context & M, path: NodePath): any; visitTSQualifiedName?(this: Context & M, path: NodePath): any; visitTSTypeReference?(this: Context & M, path: NodePath): any; visitTSHasOptionalTypeParameters?(this: Context & M, path: NodePath): any; visitTSHasOptionalTypeAnnotation?(this: Context & M, path: NodePath): any; visitTSAsExpression?(this: Context & M, path: NodePath): any; visitTSNonNullExpression?(this: Context & M, path: NodePath): any; visitTSAnyKeyword?(this: Context & M, path: NodePath): any; visitTSBigIntKeyword?(this: Context & M, path: NodePath): any; visitTSBooleanKeyword?(this: Context & M, path: NodePath): any; visitTSNeverKeyword?(this: Context & M, path: NodePath): any; visitTSNullKeyword?(this: Context & M, path: NodePath): any; visitTSNumberKeyword?(this: Context & M, path: NodePath): any; visitTSObjectKeyword?(this: Context & M, path: NodePath): any; visitTSStringKeyword?(this: Context & M, path: NodePath): any; visitTSSymbolKeyword?(this: Context & M, path: NodePath): any; visitTSUndefinedKeyword?(this: Context & M, path: NodePath): any; visitTSUnknownKeyword?(this: Context & M, path: NodePath): any; visitTSVoidKeyword?(this: Context & M, path: NodePath): any; visitTSThisType?(this: Context & M, path: NodePath): any; visitTSArrayType?(this: Context & M, path: NodePath): any; visitTSLiteralType?(this: Context & M, path: NodePath): any; visitTSUnionType?(this: Context & M, path: NodePath): any; visitTSIntersectionType?(this: Context & M, path: NodePath): any; visitTSConditionalType?(this: Context & M, path: NodePath): any; visitTSInferType?(this: Context & M, path: NodePath): any; visitTSTypeParameter?(this: Context & M, path: NodePath): any; visitTSParenthesizedType?(this: Context & M, path: NodePath): any; visitTSFunctionType?(this: Context & M, path: NodePath): any; visitTSConstructorType?(this: Context & M, path: NodePath): any; visitTSDeclareFunction?(this: Context & M, path: NodePath): any; visitTSDeclareMethod?(this: Context & M, path: NodePath): any; visitTSMappedType?(this: Context & M, path: NodePath): any; visitTSTupleType?(this: Context & M, path: NodePath): any; visitTSNamedTupleMember?(this: Context & M, path: NodePath): any; visitTSRestType?(this: Context & M, path: NodePath): any; visitTSOptionalType?(this: Context & M, path: NodePath): any; visitTSIndexedAccessType?(this: Context & M, path: NodePath): any; visitTSTypeOperator?(this: Context & M, path: NodePath): any; visitTSIndexSignature?(this: Context & M, path: NodePath): any; visitTSPropertySignature?(this: Context & M, path: NodePath): any; visitTSMethodSignature?(this: Context & M, path: NodePath): any; visitTSTypePredicate?(this: Context & M, path: NodePath): any; visitTSCallSignatureDeclaration?(this: Context & M, path: NodePath): any; visitTSConstructSignatureDeclaration?(this: Context & M, path: NodePath): any; visitTSEnumMember?(this: Context & M, path: NodePath): any; visitTSTypeQuery?(this: Context & M, path: NodePath): any; visitTSImportType?(this: Context & M, path: NodePath): any; visitTSTypeLiteral?(this: Context & M, path: NodePath): any; visitTSTypeAssertion?(this: Context & M, path: NodePath): any; visitTSEnumDeclaration?(this: Context & M, path: NodePath): any; visitTSTypeAliasDeclaration?(this: Context & M, path: NodePath): any; visitTSModuleBlock?(this: Context & M, path: NodePath): any; visitTSModuleDeclaration?(this: Context & M, path: NodePath): any; visitTSImportEqualsDeclaration?(this: Context & M, path: NodePath): any; visitTSExternalModuleReference?(this: Context & M, path: NodePath): any; visitTSExportAssignment?(this: Context & M, path: NodePath): any; visitTSNamespaceExportDeclaration?(this: Context & M, path: NodePath): any; visitTSInterfaceBody?(this: Context & M, path: NodePath): any; visitTSInterfaceDeclaration?(this: Context & M, path: NodePath): any; visitTSParameterProperty?(this: Context & M, path: NodePath): any; }