import BeanDefinition from '../definition'; import { ASPECT_ARGS } from '../aop/aspect'; import POINT_CUT from '../aop/point_cut'; import { AutoInjectConstruct } from '../annotation/inject'; declare type ASPECT_CONFIG = Omit & { adviceId?: string; }; export { ASPECT_CONFIG, POINT_CUT }; export default class BeanFactory { private static FACTORY_BEANID_PREFIX; private definitionMap; private singleBeanMap; private currentInCreation; private aspectMap; private pointCutMap; private tmpAspectConfig; private tempBeanAutoConstruct; registDefination(definition: BeanDefinition): void; getBean(idOrName: string, ...args: any[]): object; addAuoInject(config: AutoInjectConstruct): void; registPointCut(pointCut: POINT_CUT): void; registAspect(aspectConfig: ASPECT_CONFIG): void; doRegistBean(): void; doRegistAspect(): void; private getDefination; private checkBean; private mergeAutoInject; private createAopProxyBean; private injectConstructParams; private getRealValue; }