import { ObjectDefinition } from './objectdefinition/ObjectDefinition'; import { ObjectDefinitionInspector } from './ObjectDefinitionInspector'; export declare type NameOrRegexp = string | RegExp; export declare abstract class AbstractObjectDefinitionInspector implements ObjectDefinitionInspector { namePatterns: NameOrRegexp[]; inspectAll: boolean; relevantClasses: Function[]; constructor(); addInterestedClass(clazz: Function): void; addNamePattern(nameOrRegex: NameOrRegexp): void; inspect(objectDefinition: ObjectDefinition): any; /** * Indicates whether this inspector is interested in this ObjectDefinition * @param objectDefinition ObjectDefinition The object definition to possibly modify * @return boolean Whether it's interested or not in this ObjectDefinition */ interestedIn(objectDefinition: ObjectDefinition): boolean; setInspectAll(inspectAll: boolean): void; /** * If the {@link interestedIn} method returns true, this one will be called to provide * the modified version of the bean definition. * @param {ObjectDefinition} objectDefinition The object definition to possibly modify * @return ObjectDefinition The modified ObjectDefinition */ abstract doInspect(objectDefinition: ObjectDefinition): any; }