import { Provider } from './provider'; import { InjectFlags, Injector } from './injector'; import { NormalizedProvider } from './reflective-provider'; import { AbstractType, Type } from './type'; import { InjectionToken } from './injection-token'; import { Scope } from './injectable'; /** * 反射注入器 */ export declare class ReflectiveInjector extends Injector { parentInjector: Injector; protected staticProviders: Provider[]; protected scope?: Scope; protected normalizedProviders: NormalizedProvider[]; protected recordValues: Map | Type | AbstractType, any>; constructor(parentInjector: Injector, staticProviders: Provider[], scope?: Scope); /** * 用于获取当前注入器上下文内的实例、对象或数据 * @param token 访问 token * @param notFoundValue 如未查找到的返回值 * @param flags 查询规则 */ get(token: Type | AbstractType | InjectionToken, notFoundValue?: T, flags?: InjectFlags): T; private getValue; /** * 解决并获取依赖参数 * @param deps 依赖规则 * @param notFoundValue 未查找到时的返回值 * @private */ private resolveDeps; }