import { FactoryProvider } from "../Provider"; import { IContainer } from "./IContainer"; export declare type Scope = "Request" | "Transient" | "Singleton"; export declare class Container implements IContainer { private providers; cache: { Request: Map>; Singleton: Map; }; constructor(providers: FactoryProvider[]); isBound(identifier: any): boolean; get(identifier: any): T | PromiseLike; build(identifier: any, requestID: string): any; private buildAsSingleton; buildAsRequest(provider: FactoryProvider, requestID: string): any; buildAsTransient(provider: FactoryProvider, requestID: any): any; private printIdentifier; private getScopeOfInjects; private scopePicker; } export declare class ScopePicker { static pickList(...scopes: Scope[]): "Request" | "Singleton" | "Transient"; static pick(scope1: Scope, scope2: Scope, options?: string[]): "Request" | "Singleton" | "Transient"; }