import { Joinpoint, Type, RecordJp, EnumDecl } from "@specs-feup/clava/api/Joinpoints.js"; export type TagDecl = RecordJp | EnumDecl; export declare function isTagDecl($jp: Joinpoint): $jp is TagDecl; /** * Checks if the provided node has a defined type * @param $jp The joinpoint to check its type * @returns true if the joinpoint has a defined type, otherwise false */ export declare function hasDefinedType($jp: Joinpoint): boolean; /** * Retrieves the base type of the provided joinpoint. * @param $jp The joinpoint to retrieve its type * @returns The base type of the joinpoint, or undefined if the joinpoint does not have a type */ export declare function getBaseType($jp: Joinpoint): Type | undefined; /** * Gets the file path of the given join point. * @param $jp The join point * @returns The file path string */ export declare function getFilepath($jp: Joinpoint): string; /** * Returns the exact location of a given join point * @param $jp The joinpoint to evaluate * @returns A location string containing the filepath, line and column in the format "filepath@line:column" */ export declare function getFileLocation($jp: Joinpoint): string; /** * Orders two join points by their source location: filepath, line, and column * * @param $jp1 The first join point * @param $jp2 The second join point * @returns A negative value if $jp1 comes before $jp2, positive if after, or 0 if equal. */ export declare function compareLocation($jp1: Joinpoint, $jp2: Joinpoint): number; //# sourceMappingURL=JoinpointUtils.d.ts.map