import { Type } from '@nestjs/common'; import { NestContainer } from './container'; import { ContextId } from './instance-wrapper'; import { Module } from './module'; export declare abstract class ModuleRef { protected readonly container: NestContainer; private readonly injector; private readonly containerScanner; constructor(container: NestContainer); abstract get(typeOrToken: Type | string | symbol, options?: { strict: boolean; }): TResult; abstract resolve(typeOrToken: Type | string | symbol, contextId?: ContextId, options?: { strict: boolean; }): Promise; abstract create(type: Type): Promise; protected find(typeOrToken: Type | string | symbol): TResult; protected instantiateClass(type: Type, moduleRef: Module): Promise; protected findInstanceByToken(metatypeOrToken: Type | string | symbol, contextModule: Module): TResult; protected resolvePerContext(typeOrToken: Type | string | symbol, contextModule: Module, contextId: ContextId, options?: { strict: boolean; }): Promise; }