import { IContainer, Type, LifeScope } from '@ts-ioc/core'; import { Advices } from '../advices'; import { IPointcut } from '../joinpoints'; import { Joinpoint } from '../joinpoints'; import { IAdvisor } from '../IAdvisor'; import { IProxyMethod } from './IProxyMethod'; /** * Proxy method. * * @export * @class ProxyMethod * @implements {IProxyMethod} */ export declare class ProxyMethod implements IProxyMethod { private container; constructor(container: IContainer); _advisor: IAdvisor; readonly advisor: IAdvisor; _liefScope: LifeScope; readonly liefScope: LifeScope; /** * proceed the proxy method. * * @param {*} target * @param {Type} targetType * @param {IPointcut} pointcut * @param {Joinpoint} [provJoinpoint] * @memberof ProxyMethod */ proceed(target: any, targetType: Type, pointcut: IPointcut, provJoinpoint?: Joinpoint): void; proxy(propertyMethod: Function, advices: Advices, target: any, targetType: Type, pointcut: IPointcut, provJoinpoint?: Joinpoint): (...args: any[]) => any; static getClassAnnations(): any; }