/**
 * @module ConfigurationBeanPostProcessor
 * 用于实现配置化bean注册
 * 例如:
 *  @Confugration
 *  class A {
 *
 *   @Bean
 *   getMyInstance() {
 *     return new MyInstance();
 *   }
 *  }
 */
import { ClazzType } from '../../interface/declare';
import { BeanFactory } from '../factory/BeanFactory';
import InstantiationAwareBeanPostProcessor, { PropertyValue } from './InstantiationAwareBeanPostProcessor';
export default class ConfigurationBeanPostProcessor extends InstantiationAwareBeanPostProcessor {
    private readonly beanFactory;
    constructor(beanFactory: BeanFactory);
    postProcessBeforeInitialization(beanType: ClazzType, beanName: string): object;
    postProcessAfterInitialization(beanInstance: object, beanName: string): object;
    postProcessProperties(pvs: PropertyValue[], beanInstance: object, beanName: string): PropertyValue[];
    private proxyConfigurationInstance;
}
