import { Type } from '@nestjs/common';
import { Abstract } from '@nestjs/common/interfaces';
import { NestContainer } from './container';
import { InstanceWrapper } from './instance-wrapper';
import { Module } from './module';
export declare class ContainerScanner {
private readonly container;
private flatContainer;
constructor(container: NestContainer);
find<TInput = any, TResult = TInput>(typeOrToken: Type<TInput> | Abstract<TInput> | string | symbol): TResult;
getWrapperCollectionPair<TInput = any, TResult = TInput>(typeOrToken: Type<TInput> | Abstract<TInput> | string | symbol): [InstanceWrapper<TResult>, Map<string, InstanceWrapper>];
findInstanceByToken<TInput = any, TResult = TInput>(metatypeOrToken: Type<TInput> | Abstract<TInput> | string | symbol, contextModule: Partial<Module>): TResult;
getWrapperCollectionPairByHost<TInput = any, TResult = TInput>(metatypeOrToken: Type<TInput> | Abstract<TInput> | string | symbol, contextModule: Partial<Module>): [InstanceWrapper<TResult>, Map<string, InstanceWrapper>];
private initFlatContainer;
private getHostCollection;
}