import Advice, { ADVICE_POSITION } from './advice'; import { POINT_CUT_MATCHER } from './point_cut'; export default class Advisor { private advice; private classMatcher; private methodMatcher; constructor({ position, methodName, adviceBean, classMatcher, methodMatcher, }: { position: ADVICE_POSITION; methodName: string; adviceBean: any; } & POINT_CUT_MATCHER); static filterByMethodAndSort(ads: Advisor[][]): Advisor[]; matchClass(beanId: string): boolean; matchMethod(method: string): boolean; getAdvicePosition(): "afterReturn" | "afterThrow" | "after" | "around" | "before"; private match; getAdvice(): Advice; private createAdvice; }