import type { AstNode } from "@/types";
import type { DependencyGraph } from "./types";
/**
 * Analyzes AST to build a dependency graph of which nodes reference which symbols.
 * Currently focused on function call dependencies.
 */
export declare class DependencyAnalyzer {
    private graph;
    /**
     * Build the dependency graph for the given AST body
     */
    analyze(body: AstNode[], entryPoints: Set<AstNode>): DependencyGraph;
    /**
     * Index all function declarations by name
     */
    private indexDeclarations;
    /**
     * Analyze a node and its children for dependencies
     */
    private analyzeNode;
    /**
     * Walk a node recursively to find all dependencies
     */
    private walkNode;
    /**
     * Handle a function call expression
     */
    private handleCallExpression;
    /**
     * Get the function name from a call expression callee
     */
    private getFunctionName;
    /**
     * Walk all properties of a node that could contain AST nodes
     */
    private walkNodeProperties;
}
//# sourceMappingURL=DependencyAnalyzer.d.ts.map