import { Joinpoint, TypedefDecl } from "@specs-feup/clava/api/Joinpoints.js"; import { TagDecl } from "./JoinpointUtils.js"; /** * Retrieves the typedef declaration for the provided joinpoint, if available * @param $jp The joinpoint to analyze * @returns The typedef declaration if found, or undefined if not */ export declare function getTypeDefDecl($jp: Joinpoint): TypedefDecl | undefined; /** * Checks if the provided joinpoint declares a type (typedef) * @param $jp The joinpoint to check * @returns Returns true if the joinpoint declares a typedef, otherwise false */ export declare function hasTypeDefDecl($jp: Joinpoint): boolean; /** * Checks if a given joinpoint uses the specified typedef declaration. * @param jp - The joinpoint to check * @param typeDecl - The typedef declaration to check against * @returns Returns true if the joinpoint uses the given typedef declaration, false otherwise */ export declare function jpUsesTypedef(jp: Joinpoint, typeDecl: TypedefDecl): boolean; /** * Checks if a given joinpoint uses the specified tag declaration * @param $jp The joinpoint to analyze * @param tag The tag to check against * @returns Returns true if the joinpoint uses the given tag, false otherwise */ export declare function jpUsesTag($jp: Joinpoint, tag: TagDecl): boolean; /** * Checks if the provided typedef or tag declaration is used in any part of the program * @param decl - typedef or tag declaration to verify * @returns Returns true if the declaration is used, false otherwise */ export declare function isTypeDeclUsed(decl: TypedefDecl | TagDecl): boolean; //# sourceMappingURL=TypeDeclUtils.d.ts.map