import type { SymbolDefinition, CallSite, ImportStatement, ExportStatement } from "./types"; import type { SyntaxNode } from "web-tree-sitter"; type Node = SyntaxNode; /** * Extracts symbols, call sites, imports, and exports from an AST. */ export declare class ASTExtractor { /** * Extract all function, class, and method definitions from the AST. */ extractSymbols(rootNode: Node, filePath: string): SymbolDefinition[]; /** * Extract all call sites from the AST. */ extractCallSites(rootNode: Node, filePath: string): CallSite[]; /** * Extract all import statements from the AST. */ extractImports(rootNode: Node, filePath: string): ImportStatement[]; /** * Extract all export statements from the AST. */ extractExports(rootNode: Node, filePath: string): ExportStatement[]; private walkNode; private extractSymbolDefinition; private getNodeName; private isExported; private extractCallSite; private findEnclosingFunction; private extractImport; private getImportSource; private getImportSymbols; private extractExport; /** * Recursively collect export specifiers from the node tree. * Handles: export { foo, bar }, export { foo as bar }, and nested export_clause nodes. */ private collectExportSpecifiers; } export {}; //# sourceMappingURL=extractor.d.ts.map