import { $Constructor } from "../typings/$types.js"; import { $MODULE_ID_TYPE } from "./$types.js"; import { GROUP_TOKEN_SYMNOL, INJECTION_TOKEN_SYMNOL, SINGLETON_TOKEN_SYMNOL } from "./_inner.js"; /**带有可注入依赖模块名字的构造函数 */ export interface InjectionToken extends $Constructor { [INJECTION_TOKEN_SYMNOL]: $MODULE_ID_TYPE; [SINGLETON_TOKEN_SYMNOL]: T | boolean; [GROUP_TOKEN_SYMNOL]?: $MODULE_ID_TYPE[]; } /**获取构造函数的模块名称 */ export declare function getInjectionToken(Ctor: any): $MODULE_ID_TYPE | undefined; /**获取构造函数的分组名称 */ export declare function getInjectionGroups(Ctor: any): Set<$MODULE_ID_TYPE>; export interface OnInit { bfOnInit(): unknown; } export interface AfterInit { bfAfterInit(): unknown; }