import cytoscape from "cytoscape";
import { Joinpoint } from "../../../Joinpoints.js";
export default class StaticCallGraphBuilder {
    /**
     * The static call graph
     */
    private graph;
    /**
     * Maps AST nodes to graph nodes
     */
    private nodesMap;
    /**
     * Maps function-\>function relations to edges
     */
    private edgesMap;
    private nodeCounter;
    get nodes(): Record<string, cytoscape.NodeSingular>;
    private addOrGetNode;
    private newNodeId;
    /**
     *
     * @param $jp -
     * @param visitCalls - If true, recursively visits the functions of each call, building a call graph of the available code
     * @returns
     */
    build($jp?: Joinpoint, visitCalls?: boolean): cytoscape.Core;
    static getEdgeId(sourceNode: cytoscape.NodeSingular, targetNode: cytoscape.NodeSingular): string;
    private addEdge;
    private getFunctionCallPairs;
}
//# sourceMappingURL=StaticCallGraphBuilder.d.ts.map