import type { Node, Callback, NodeByType, RecursiveVisitors } from './types.cjs'; /** * @see https://github.com/swc-project/swc/blob/main/packages/core/src/Visitor.ts */ export declare class BaseVisitor implements Required> { ArrayExpression(n: NodeByType<'ArrayExpression'>, st: S, cb: Callback): void; ArrayPattern(n: NodeByType<'ArrayPattern'>, st: S, cb: Callback): void; ArrowFunctionExpression(n: NodeByType<'ArrowFunctionExpression'>, st: S, cb: Callback): void; AssignmentExpression(n: NodeByType<'AssignmentExpression'>, st: S, cb: Callback): void; AssignmentPattern(n: NodeByType<'AssignmentPattern'>, st: S, cb: Callback): void; AssignmentPatternProperty(n: NodeByType<'AssignmentPatternProperty'>, st: S, cb: Callback): void; AssignmentProperty(n: NodeByType<'AssignmentProperty'>, st: S, cb: Callback): void; AwaitExpression(n: NodeByType<'AwaitExpression'>, st: S, cb: Callback): void; BigIntLiteral: (_n: Node, _st: S, _cb: Callback) => void; BinaryExpression(n: NodeByType<'BinaryExpression'>, st: S, cb: Callback): void; BlockStatement(n: NodeByType<'BlockStatement'>, st: S, cb: Callback): void; BooleanLiteral: (_n: Node, _st: S, _cb: Callback) => void; BreakStatement(n: NodeByType<'BreakStatement'>, st: S, cb: Callback): void; CallExpression(n: NodeByType<'CallExpression'>, st: S, cb: Callback): void; CatchClause(n: NodeByType<'CatchClause'>, st: S, cb: Callback): void; ClassDeclaration(n: NodeByType<'ClassDeclaration'>, st: S, cb: Callback): void; ClassExpression(n: NodeByType<'ClassExpression'>, st: S, cb: Callback): void; ClassMethod(n: NodeByType<'ClassMethod'>, st: S, cb: Callback): void; ClassProperty(n: NodeByType<'ClassProperty'>, st: S, cb: Callback): void; Computed(n: NodeByType<'Computed'>, st: S, cb: Callback): void; ConditionalExpression(n: NodeByType<'ConditionalExpression'>, st: S, cb: Callback): void; Constructor(n: NodeByType<'Constructor'>, st: S, cb: Callback): void; ContinueStatement(n: NodeByType<'ContinueStatement'>, st: S, cb: Callback): void; DebuggerStatement: (_n: Node, _st: S, _cb: Callback) => void; Decorator(n: NodeByType<'Decorator'>, st: S, cb: Callback): void; DoWhileStatement(n: NodeByType<'DoWhileStatement'>, st: S, cb: Callback): void; EmptyStatement: (_n: Node, _st: S, _cb: Callback) => void; ExportAllDeclaration(n: NodeByType<'ExportAllDeclaration'>, st: S, cb: Callback): void; ExportDeclaration(n: NodeByType<'ExportDeclaration'>, st: S, cb: Callback): void; ExportDefaultDeclaration(n: NodeByType<'ExportDefaultDeclaration'>, st: S, cb: Callback): void; ExportDefaultExpression(n: NodeByType<'ExportDefaultExpression'>, st: S, cb: Callback): void; ExportDefaultSpecifier(n: NodeByType<'ExportDefaultSpecifier'>, st: S, cb: Callback): void; ExportNamedDeclaration(n: NodeByType<'ExportNamedDeclaration'>, st: S, cb: Callback): void; ExportNamespaceSpecifier(n: NodeByType<'ExportNamespaceSpecifier'>, st: S, cb: Callback): void; ExportSpecifier(n: NodeByType<'ExportSpecifier'>, st: S, cb: Callback): void; ExpressionStatement(n: NodeByType<'ExpressionStatement'>, st: S, cb: Callback): void; ForInStatement(n: NodeByType<'ForInStatement'>, st: S, cb: Callback): void; ForOfStatement(n: NodeByType<'ForOfStatement'>, st: S, cb: Callback): void; ForStatement(n: NodeByType<'ForStatement'>, st: S, cb: Callback): void; FunctionDeclaration(n: NodeByType<'FunctionDeclaration'>, st: S, cb: Callback): void; FunctionExpression(n: NodeByType<'FunctionExpression'>, st: S, cb: Callback): void; GetterProperty(n: NodeByType<'GetterProperty'>, st: S, cb: Callback): void; Identifier(n: NodeByType<'Identifier'>, st: S, cb: Callback): void; IfStatement(n: NodeByType<'IfStatement'>, st: S, cb: Callback): void; Import: (_n: Node, _st: S, _cb: Callback) => void; ImportDeclaration(n: NodeByType<'ImportDeclaration'>, st: S, cb: Callback): void; ImportDefaultSpecifier(n: NodeByType<'ImportDefaultSpecifier'>, st: S, cb: Callback): void; ImportNamespaceSpecifier(n: NodeByType<'ImportNamespaceSpecifier'>, st: S, cb: Callback): void; ImportSpecifier(n: NodeByType<'ImportSpecifier'>, st: S, cb: Callback): void; Invalid: (_n: Node, _st: S, _cb: Callback) => void; JSXAttribute(n: NodeByType<'JSXAttribute'>, st: S, cb: Callback): void; JSXClosingElement(n: NodeByType<'JSXClosingElement'>, st: S, cb: Callback): void; JSXClosingFragment: (_n: Node, _st: S, _cb: Callback) => void; JSXElement(n: NodeByType<'JSXElement'>, st: S, cb: Callback): void; JSXEmptyExpression: (_n: Node, _st: S, _cb: Callback) => void; JSXExpressionContainer(n: NodeByType<'JSXExpressionContainer'>, st: S, cb: Callback): void; JSXFragment(n: NodeByType<'JSXFragment'>, st: S, cb: Callback): void; JSXMemberExpression(n: NodeByType<'JSXMemberExpression'>, st: S, cb: Callback): void; JSXNamespacedName(n: NodeByType<'JSXNamespacedName'>, st: S, cb: Callback): void; JSXOpeningElement(n: NodeByType<'JSXOpeningElement'>, st: S, cb: Callback): void; JSXOpeningFragment: (_n: Node, _st: S, _cb: Callback) => void; JSXSpreadChild(n: NodeByType<'JSXSpreadChild'>, st: S, cb: Callback): void; JSXText: (_n: Node, _st: S, _cb: Callback) => void; KeyValuePatternProperty(n: NodeByType<'KeyValuePatternProperty'>, st: S, cb: Callback): void; KeyValueProperty(n: NodeByType<'KeyValueProperty'>, st: S, cb: Callback): void; LabeledStatement(n: NodeByType<'LabeledStatement'>, st: S, cb: Callback): void; MemberExpression(n: NodeByType<'MemberExpression'>, st: S, cb: Callback): void; MetaProperty: (_n: Node, _st: S, _cb: Callback) => void; MethodProperty(n: NodeByType<'MethodProperty'>, st: S, cb: Callback): void; Module(n: NodeByType<'Module'>, st: S, cb: Callback): void; NewExpression(n: NodeByType<'NewExpression'>, st: S, cb: Callback): void; NullLiteral: (_n: Node, _st: S, _cb: Callback) => void; NumericLiteral: (_n: Node, _st: S, _cb: Callback) => void; ObjectExpression(n: NodeByType<'ObjectExpression'>, st: S, cb: Callback): void; ObjectPattern(n: NodeByType<'ObjectPattern'>, st: S, cb: Callback): void; OptionalChainingExpression(n: NodeByType<'OptionalChainingExpression'>, st: S, cb: Callback): void; Parameter(n: NodeByType<'Parameter'>, st: S, cb: Callback): void; ParenthesisExpression(n: NodeByType<'ParenthesisExpression'>, st: S, cb: Callback): void; PrivateMethod(n: NodeByType<'PrivateMethod'>, st: S, cb: Callback): void; PrivateName: (_n: Node, _st: S, _cb: Callback) => void; PrivateProperty(n: NodeByType<'PrivateProperty'>, st: S, cb: Callback): void; RegExpLiteral: (_n: Node, _st: S, _cb: Callback) => void; RestElement(n: NodeByType<'RestElement'>, st: S, cb: Callback): void; ReturnStatement(n: NodeByType<'ReturnStatement'>, st: S, cb: Callback): void; Script(n: NodeByType<'Script'>, st: S, cb: Callback): void; SequenceExpression(n: NodeByType<'SequenceExpression'>, st: S, cb: Callback): void; SetterProperty(n: NodeByType<'SetterProperty'>, st: S, cb: Callback): void; SpreadElement(n: NodeByType<'SpreadElement'>, st: S, cb: Callback): void; StaticBlock(n: NodeByType<'StaticBlock'>, st: S, cb: Callback): void; StringLiteral: (_n: Node, _st: S, _cb: Callback) => void; Super: (_n: Node, _st: S, _cb: Callback) => void; SuperPropExpression(n: NodeByType<'SuperPropExpression'>, st: S, cb: Callback): void; SwitchCase(n: NodeByType<'SwitchCase'>, st: S, cb: Callback): void; SwitchStatement(n: NodeByType<'SwitchStatement'>, st: S, cb: Callback): void; TaggedTemplateExpression(n: NodeByType<'TaggedTemplateExpression'>, st: S, cb: Callback): void; TemplateElement: (_n: Node, _st: S, _cb: Callback) => void; TemplateLiteral(n: NodeByType<'TemplateLiteral'>, st: S, cb: Callback): void; ThisExpression: (_n: Node, _st: S, _cb: Callback) => void; ThrowStatement(n: NodeByType<'ThrowStatement'>, st: S, cb: Callback): void; TryStatement(n: NodeByType<'TryStatement'>, st: S, cb: Callback): void; TsArrayType(n: NodeByType<'TsArrayType'>, st: S, cb: Callback): void; TsExpressionWithTypeArguments(n: NodeByType<'TsExpressionWithTypeArguments'>, st: S, cb: Callback): void; TsInterfaceDeclaration(n: NodeByType<'TsInterfaceDeclaration'>, st: S, cb: Callback): void; TsInterfaceBody(n: NodeByType<'TsInterfaceBody'>, st: S, cb: Callback): void; TsKeywordType: (_n: Node, _st: S, _cb: Callback) => void; TsPropertySignature(n: NodeByType<'TsPropertySignature'>, st: S, cb: Callback): void; TsAsExpression(n: NodeByType<'TsAsExpression'>, st: S, cb: Callback): void; TsCallSignatureDeclaration(n: NodeByType<'TsCallSignatureDeclaration'>, st: S, cb: Callback): void; TsConditionalType(n: NodeByType<'TsConditionalType'>, st: S, cb: Callback): void; TsConstAssertion(n: NodeByType<'TsConstAssertion'>, st: S, cb: Callback): void; TsConstructorType(n: NodeByType<'TsConstructorType'>, st: S, cb: Callback): void; TsConstructSignatureDeclaration(n: NodeByType<'TsConstructSignatureDeclaration'>, st: S, cb: Callback): void; TsEnumDeclaration(n: NodeByType<'TsEnumDeclaration'>, st: S, cb: Callback): void; TsEnumMember(n: NodeByType<'TsEnumMember'>, st: S, cb: Callback): void; TsExportAssignment(n: NodeByType<'TsExportAssignment'>, st: S, cb: Callback): void; TsExternalModuleReference(n: NodeByType<'TsExternalModuleReference'>, st: S, cb: Callback): void; TsFunctionType(n: NodeByType<'TsFunctionType'>, st: S, cb: Callback): void; TsGetterSignature(n: NodeByType<'TsGetterSignature'>, st: S, cb: Callback): void; TsImportEqualsDeclaration(n: NodeByType<'TsImportEqualsDeclaration'>, st: S, cb: Callback): void; TsImportType(n: NodeByType<'TsImportType'>, st: S, cb: Callback): void; TsIndexedAccessType(n: NodeByType<'TsIndexedAccessType'>, st: S, cb: Callback): void; TsIndexSignature(n: NodeByType<'TsIndexSignature'>, st: S, cb: Callback): void; TsInferType(n: NodeByType<'TsInferType'>, st: S, cb: Callback): void; TsInstantiation(n: NodeByType<'TsInstantiation'>, st: S, cb: Callback): void; TsIntersectionType(n: NodeByType<'TsIntersectionType'>, st: S, cb: Callback): void; TsLiteralType(n: NodeByType<'TsLiteralType'>, st: S, cb: Callback): void; TsMappedType(n: NodeByType<'TsMappedType'>, st: S, cb: Callback): void; TsMethodSignature(n: NodeByType<'TsMethodSignature'>, st: S, cb: Callback): void; TsModuleBlock(n: NodeByType<'TsModuleBlock'>, st: S, cb: Callback): void; TsModuleDeclaration(n: NodeByType<'TsModuleDeclaration'>, st: S, cb: Callback): void; TsNamespaceDeclaration(n: NodeByType<'TsNamespaceDeclaration'>, st: S, cb: Callback): void; TsNamespaceExportDeclaration(n: NodeByType<'TsNamespaceExportDeclaration'>, st: S, cb: Callback): void; TsNonNullExpression(n: NodeByType<'TsNonNullExpression'>, st: S, cb: Callback): void; TsOptionalType(n: NodeByType<'TsOptionalType'>, st: S, cb: Callback): void; TsParameterProperty(n: NodeByType<'TsParameterProperty'>, st: S, cb: Callback): void; TsParenthesizedType(n: NodeByType<'TsParenthesizedType'>, st: S, cb: Callback): void; TsQualifiedName(n: NodeByType<'TsQualifiedName'>, st: S, cb: Callback): void; TsRestType(n: NodeByType<'TsRestType'>, st: S, cb: Callback): void; TsSatisfiesExpression(n: NodeByType<'TsSatisfiesExpression'>, st: S, cb: Callback): void; TsSetterSignature(n: NodeByType<'TsSetterSignature'>, st: S, cb: Callback): void; TsThisType: (_n: Node, _st: S, _cb: Callback) => void; TsTupleElement(n: NodeByType<'TsTupleElement'>, st: S, cb: Callback): void; TsTupleType(n: NodeByType<'TsTupleType'>, st: S, cb: Callback): void; TsTypeAliasDeclaration(n: NodeByType<'TsTypeAliasDeclaration'>, st: S, cb: Callback): void; TsType: (_n: Node, _st: S, _cb: Callback) => void; TsTypeAnnotation(n: NodeByType<'TsTypeAnnotation'>, st: S, cb: Callback): void; TsTypeParameter(n: NodeByType<'TsTypeParameter'>, st: S, cb: Callback): void; TsTypeParameterDeclaration(n: NodeByType<'TsTypeParameterDeclaration'>, st: S, cb: Callback): void; TsTypeAssertion(n: NodeByType<'TsTypeAssertion'>, st: S, cb: Callback): void; TsTypeElement: (_n: Node, _st: S, _cb: Callback) => void; TsTypeLiteral(n: NodeByType<'TsTypeLiteral'>, st: S, cb: Callback): void; TsTypeOperator(n: NodeByType<'TsTypeOperator'>, st: S, cb: Callback): void; TsTypeParameterInstantiation(n: NodeByType<'TsTypeParameterInstantiation'>, st: S, cb: Callback): void; TsTypeReference(n: NodeByType<'TsTypeReference'>, st: S, cb: Callback): void; TsTypePredicate(n: NodeByType<'TsTypePredicate'>, st: S, cb: Callback): void; TsTypeQuery(n: NodeByType<'TsTypeQuery'>, st: S, cb: Callback): void; TsUnionType(n: NodeByType<'TsUnionType'>, st: S, cb: Callback): void; UnaryExpression(n: NodeByType<'UnaryExpression'>, st: S, cb: Callback): void; UpdateExpression(n: NodeByType<'UpdateExpression'>, st: S, cb: Callback): void; VariableDeclaration(n: NodeByType<'VariableDeclaration'>, st: S, cb: Callback): void; VariableDeclarator(n: NodeByType<'VariableDeclarator'>, st: S, cb: Callback): void; WhileStatement(n: NodeByType<'WhileStatement'>, st: S, cb: Callback): void; WithStatement(n: NodeByType<'WithStatement'>, st: S, cb: Callback): void; YieldExpression(n: NodeByType<'YieldExpression'>, st: S, cb: Callback): void; } export default BaseVisitor;