export declare type IntentCallback = (type: string, payload?: any) => any;
export declare class MethodInvocation {
    private method;
    private context;
    private args;
    private contextName;
    private propertyKey;
    constructor(method: Function, context: any, args: any[], contextName: string, propertyKey: string);
    proceed(): any;
    getArguments(): any[];
    getContext(): any;
    getInstanceName(): string;
    getPropertyName(): string;
    getFullQualifiedName(): string;
}
export interface Advice {
    invoke?(methodInvocation: MethodInvocation, intent: IntentCallback): any;
}
export declare type AdviceFunction = (methodInvocation: MethodInvocation, intent: IntentCallback) => any;
export declare type AdviceDefinition = Advice | AdviceFunction;
