import { IAdviceMatcher } from './IAdviceMatcher'; import { AdviceMetadata } from './metadatas'; import { IContainer, Type, ObjectMap } from '@ts-ioc/core'; import { IPointcut, MatchPointcut } from './joinpoints'; /** * match express. */ export declare type MatchExpress = (method: string, fullName: string, targetType?: Type, target?: any, pointcut?: IPointcut) => boolean; /** * advice matcher, use to match advice when a registered create instance. * * @export * @class AdviceMatcher * @implements {IAdviceMatcher} */ export declare class AdviceMatcher implements IAdviceMatcher { private container; constructor(container: IContainer); match(aspectType: Type, targetType: Type, adviceMetas?: ObjectMap, target?: any): MatchPointcut[]; protected matchAspectSelf(name: string, metadata: AdviceMetadata): boolean; filterPointcut(type: Type, points: IPointcut[], metadata: AdviceMetadata, target?: any): MatchPointcut[]; protected matchTypeFactory(type: Type, metadata: AdviceMetadata): MatchExpress; protected spiltBrace(strExp: string): any; protected expressToFunc(type: Type, strExp: string): MatchExpress; protected tranlateExpress(type: Type, strExp: string): MatchExpress; protected mergeExpress(...expresses: (MatchExpress | string)[]): MatchExpress; static getClassAnnations(): any; }