import { ReadonlyDIContainer, InjectDIToken, ScopeID } from "../core/declares"; import { BaseDIContainer } from "../core/di-base"; export declare abstract class Injector implements ReadonlyDIContainer { abstract get(token: InjectDIToken): T; } export interface INTERNAL_Injector extends ReadonlyDIContainer { get(token: InjectDIToken, scopeId?: ID): T; INTERNAL_dispose(): void; scopeId?: ID; } export declare function createInjector(di: BaseDIContainer): (scopeId?: T) => INTERNAL_Injector;