export declare type AstResolver = (node: any, key: string | number, ast: Ast) => T; export declare type AstType = 'File' | 'Program' | 'ImportDeclaration' | 'ExportDefaultDeclaration' | 'ExportNamedDeclaration' | 'FunctionDeclaration' | 'AssignmentPattern' | 'ClassBody' | 'ClassMethod' | 'ClassProperty' | 'ClassDeclaration' | 'MethodDefinition' | 'TemplateLiteral' | 'ObjectExpression' | 'Property' | 'FunctionExpression' | 'ArrowFunctionExpression' | 'ReturnStatement' | 'UpdateExpression' | 'UnaryExpression' | 'BlockStatement' | 'IfStatement' | 'SwitchStatement' | 'SwitchCase' | 'ExpressionStatement' | 'BinaryExpression' | 'LogicalExpression' | 'AssignmentExpression' | 'MemberExpression' | 'CallExpression' | 'TryStatement' | 'CatchClause' | 'Super' | 'ThisExpression' | 'ForStatement' | 'ForOfStatement' | 'Identifier' | 'Literal' | 'VariableDeclaration' | 'VariableDeclarator' | 'AwaitExpression' | 'Directive' | 'DirectiveLiteral' | 'TSModuleBlock' | 'TSModuleDeclaration' | 'TSAbstractClassDeclaration' | 'TSTypeAnnotation' | 'TSAsExpression' | 'TSNamespaceExportDeclaration' | 'TSTypeQuery' | 'TSAnyKeyword' | 'TSStringKeyword' | 'TSNumberKeyword' | 'TSUnionType' | 'TSTypeReference' | 'TSFunctionType' | 'TSTypeParameterInstantiation' | 'TSTupleType'; export declare class Ast { private static readonly root; private readonly resolverMap; set(type: AstType, resolver: AstResolver): this; super(parent: any, key: string | number): T | boolean; resolveAst(parent: any, key?: any, ignoreResolver?: boolean): T | boolean; private resolveAll; }