import { Provider, Scope, Type } from '@nestjs/common'; import { Module } from './module'; export declare const INSTANCE_METADATA_SYMBOL: unique symbol; export declare const INSTANCE_ID_SYMBOL: unique symbol; export interface ContextId { readonly id: number; } export interface InstancePerContext { instance: T; isResolved?: boolean; isPending?: boolean; donePromise?: Promise; } export interface PropertyMetadata { key: string; wrapper: InstanceWrapper; } export declare class InstanceWrapper { readonly name: any; readonly async?: boolean; readonly host?: Module; readonly scope?: Scope; readonly isAlias: boolean; metatype: Type | Function; inject?: (string | symbol | Function | Type)[]; forwardRef?: boolean; private readonly values; private readonly [INSTANCE_METADATA_SYMBOL]; private readonly [INSTANCE_ID_SYMBOL]; private transientMap?; private isTreeStatic; constructor(metadata?: Partial> & Partial>); readonly id: string; instance: T; readonly isNotMetatype: boolean; readonly isTransient: boolean; getInstanceByContextId(contextId: ContextId, inquirerId?: string): InstancePerContext; getInstanceByInquirerId(contextId: ContextId, inquirerId: string): InstancePerContext; setInstanceByContextId(contextId: ContextId, value: InstancePerContext, inquirerId?: string): void; setInstanceByInquirerId(contextId: ContextId, inquirerId: string, value: InstancePerContext): void; addCtorMetadata(index: number, wrapper: InstanceWrapper): void; getCtorMetadata(): InstanceWrapper[]; addPropertiesMetadata(key: string, wrapper: InstanceWrapper): void; getPropertiesMetadata(): PropertyMetadata[]; addEnhancerMetadata(wrapper: InstanceWrapper): void; getEnhancersMetadata(): InstanceWrapper[]; isDependencyTreeStatic(lookupRegistry?: string[]): boolean; cloneStaticInstance(contextId: ContextId): InstancePerContext; cloneTransientInstance(contextId: ContextId, inquirerId: string): InstancePerContext; createPrototype(contextId: ContextId): any; isInRequestScope(contextId: ContextId, inquirer?: InstanceWrapper | undefined): boolean; isLazyTransient(contextId: ContextId, inquirer: InstanceWrapper | undefined): boolean; isExplicitlyRequested(contextId: ContextId, inquirer?: InstanceWrapper): boolean; isStatic(contextId: ContextId, inquirer: InstanceWrapper | undefined): boolean; getStaticTransientInstances(): InstancePerContext[]; mergeWith(provider: Provider): void; private isNewable; private isWrapperListStatic; private initialize; }