import cytoscape from "cytoscape";
import { Expression, Statement, Varref } from "../../Joinpoints.js";
export default class LivenessUtils {
    /**
     * Checks if the given graph is a Cytoscape graph
     * @deprecated Typescript type checking should be used instead
     */
    static isCytoscapeGraph(graph: cytoscape.Core): boolean;
    /**
     * Computes the union of two sets
     * @param set1 -
     * @param set2 -
     * @returns A set containing the union of elements from both input sets
     */
    static unionSets<T>(set1: Set<T> | undefined, set2: Set<T> | undefined): Set<T>;
    /**
     * Computes the set difference between two sets
     * @param set1 -
     * @param set2 -
     * @returns A set containing all the elements present in set1 but not in set2
     */
    static differenceSets<T>(set1: Set<T> | undefined, set2: Set<T> | undefined): Set<T>;
    /**
     * Checks if two sets contain the same elements
     */
    static isSameSet<T>(set1: Set<T> | undefined, set2: Set<T> | undefined): boolean;
    /**
     * Returns the children of a node
     * @param node -
     * @returns An array containing the children of the given node
     */
    static getChildren(node: cytoscape.NodeSingular): cytoscape.NodeSingular[];
    /**
     * Checks if the provided joinpoint refers to an assigned variable.
     * @param $varref - The varref join point
     * @deprecated This method assumes that the giver Varref has a BinaryOp parent. Use carefully.
     */
    static isAssignedVar($varref: Varref): boolean;
    /**
     * Checks if the given joinpoint is a local variable or parameter
     * @param $varref - The varref join point
     */
    static isLocalOrParam($varref: Varref): boolean;
    /**
     *
     * @param $jp - The statement join point
     * @returns A set of variable names declared with initialization in the given joinpoint
     */
    static getVarDeclsWithInit($jp: Statement | Expression): Set<string>;
    /**
     *
     * @param $jp - The statement join point
     * @returns A set containing the names of the local variables or parameters on the left-hand side (LHS) of each assignment present in the given joinpoint
     */
    static getAssignedVars($jp: Statement | Expression): Set<string>;
    /**
     *
     * @param $jp - The statement join point
     * @returns A set containing the names of local variables or parameters referenced by varref joinpoints, excluding those present on the LHS of assignments.
     */
    static getVarRefs($jp: Statement | Expression): Set<string>;
}
//# sourceMappingURL=LivenessUtils.d.ts.map