import { Joinpoint, Vardecl, FunctionJp } from "@specs-feup/clava/api/Joinpoints.js"; /** * Checks if the given joinpoint is an identifier declaration (variable, function, typedef, label, or tag) * * @param $jp The joinpoint to evaluate * @returns True if the join point is an identifier declaration, false otherwise */ export declare function isIdentifierDecl($jp: Joinpoint): boolean; /** * Retrieves the name of the given joinpoint * @param $jp The joinpoint to evaluate * @returns The name of the identifier, or undefined if the join point does not represent an identifier */ export declare function getIdentifierName($jp: Joinpoint): string | undefined; /** * Checks if two joinpoints represent different identifiers with the same name * @param identifier1 The first joinpoint to evaluate * @param identifier2 The second joinpoint to evaluate * @returns True if names match and the nodes differ, otherwise returns false */ export declare function areIdentifierNamesEqual(identifier1: Joinpoint, identifier2: Joinpoint): boolean; /** * Updates the name of an identifier joinpoint * @param $jp The joinpoint to rename * @param newName the new identifier name * @returns True if renaming was successful, false otherwise */ export declare function renameIdentifier($jp: Joinpoint, newName: string): boolean; /** * Checks if a given joinpoint represents an identifier with external linkage * * @param $jp The joinpoint to evaluate * @returns True if the joinpoint has external linkage, false otherwise */ export declare function isExternalLinkageIdentifier($jp: Joinpoint): boolean; /** * Checks if a given joinpoint represents an identifier with internal linkage * * @param $jp The joinpoint to evaluate * @returns True if the joinpoint has internal linkage, false otherwise */ export declare function isInternalLinkageIdentifier($jp: Joinpoint): boolean; /** * Determines if an identifier is duplicated in a collection of join points * * @param $jp The identifier to evaluate * @param $others Other join points to compare with * @returns True if a duplicate exists, false otherwise */ export declare function isIdentifierDuplicated($jp: Joinpoint, $others: Joinpoint[]): boolean; /** * Checks if another identifier with the same name is declared before the given joinpoint * * @param $jp The identifier join point to check * @param $others The list of other identifiers to compare with * @returns True if a matching identifier is declared earlier, false otherwise. */ export declare function isIdentifierNameDeclaredBefore($jp: Joinpoint, $others: Joinpoint[]): boolean; /** * @returns Returns true if the identifiers represent different AST nodes but are not distinct within the first 31 characters. Otherwise returns false. */ export declare function areDistinctIdentifiers($jp1: Vardecl | FunctionJp, $jp2: Vardecl | FunctionJp): boolean; //# sourceMappingURL=IdentifierUtils.d.ts.map