import { IntentHandler } from '../intent/intent-handler';
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: IntentHandler): any;
}
export declare type AdviceFunction = (methodInvocation: MethodInvocation, intent: IntentHandler) => any;
export declare type AdviceDefinition = Advice | AdviceFunction;
