import type { LogicManifest } from "../types/manifest"; import { ContextStateMatrix } from "./context-state-matrix"; /** * This class represents a descriptor for elements in the logic manifest. */ export declare class ElementDescriptor { protected stateMatrix: ContextStateMatrix; protected elements: Map; protected callSites: Map; protected classDefs: Map; protected methodDefs: Map; protected eventsDefs: Map; constructor(elements: LogicManifest.Element[]); /** * Retrieves the state matrix associated with the ElementDescriptor. * * @returns {ContextStateMatrix} The state matrix. */ getStateMatrix(): ContextStateMatrix; /** * Retrieves the map of elements associated with the ElementDescriptor. * * @returns {Map} The elements map. */ getElements(): Map; /** * Retrieves the map of call sites associated with the ElementDescriptor. * * @returns {Map} The call sites map. */ getCallsites(): Map; /** * Retrieves the map of class definitions associated with the ElementDescriptor. * * @returns {Map} The class definitions map. */ getClassDefs(): Map; getEvents(): Map; /** * Retrieves the map of method definitions associated with the ElementDescriptor. * * @returns {Map} The method definitions map. */ getMethodDefs(): Map; /** * Retrieves the methods of a class based on the given class name. * * @param {string} className - The name of the class. * @returns {Map} The methods of the class. * @throws {Error} if the class name is invalid. */ getClassMethods(className: string): Map; /** * Retrieves the element from the logic manifest based on the given * routine name. * * @param {string} routineName - The name of the routine. * @returns {LogicManifest.Element} The routine element. * @throws {Error} if the routine name is invalid. */ getRoutineElement(routineName: string): LogicManifest.Element; /** * Retrieves the element from the logic manifest based on the given * class name. * * @returns {LogicManifest.Element} The class element. * @throws {Error} if the class name is invalid. */ getClassElement(className: string): LogicManifest.Element; /** * Retrieves the element from the logic manifest based on the given * method name. * * @param {string} methodName - The name of the method. * @returns {LogicManifest.Element} The method element. * @throws {Error} if the method name is invalid. */ getMethodElement(methodName: string): LogicManifest.Element; /** * Retrieves the element from the logic manifest based on the given * event name. * * @param {string} eventName - The name of the event. * @returns {LogicManifest.Element} The event element. * * @throws {Error} if the event name is invalid. */ getEventElement(eventName: string): LogicManifest.Element; } //# sourceMappingURL=element-descriptor.d.ts.map