import * as Interfaces from "./interfaces"; export declare class ProfileExtender { static applyProfiles(profiles: Interfaces.Profile[]): void; private static applyProfile(profile); /** * Extends all Package class types with getters for checking if the profile is applied to the Package. */ private static addHasProfileGetters(profile); /** * Extends all extendable class types with getters for checking if a stereotype is applied. */ private static addHasStereotypeGetters(stereoTypes); private static addSubElementAccessors(stereoTypes, elementType, elementSubTypes); /** * Adds accessor functions for stereotypes to the package (and model) level, e.g. getMyStereotypeClasses(), * getMyStereotypeInterfaces(), etc */ private static addPackageStereotypeAccessors(profile, stereoTypes); /** * Extends all classifier types with accessors to profile-specific stereotypes for Operations, Properties etc. */ private static addClassifierAccessors(stereoTypes); private static addSubSelementAccessorsForElementTypes(classTypes, stereoTypes, elementTypes); private static getAccessorFunctionForSubElementType(subElementType, stereoType); private static extendTypesWithFunction(classTypes, funcName, func); private static extendTypesWithGetter(classTypes, propertyName, getter); /** * Gets the actual Javascript implementation types that match the specified element type. */ private static getClassTypesByElementType(elementType); private static getGetPluralElementTypeName(elementType); }