import { Logger } from '@nestjs/common'; import { ModulesContainer } from '@nestjs/core'; import { BaseInjector } from './base.injector'; import { EnhancerType } from '../constants'; export declare abstract class EnhancerInjector extends BaseInjector { protected readonly modulesContainer: ModulesContainer; protected readonly enhancerType: EnhancerType; protected readonly logger: Logger; protected readonly globalToken: string | symbol; protected readonly metadataKey: string; protected readonly methodKey: string; protected readonly traceName: string; constructor(modulesContainer: ModulesContainer, enhancerType: EnhancerType); inject(): void; protected injectGlobals(): void; protected injectControllers(): void; protected getEnhancers(target: any): any[]; protected isEnhanced(target: any): boolean; protected wrapEnhancer(classOrInstance: any): any; protected wrapEnhancerMethod(controller: any, enhancer: any, traceName: string, spanOptions?: any): any; protected resolveWrappedEnhancer(module: any, enhancer: any, wrappedEnhancer: any): void; }