import { EggProtoImplClass } from "../core-decorator/model/EggPrototypeInfo.js"; import { AdviceInfo } from "./Aspect.js"; import { CustomPointcutCallback, PointcutInfo, PointcutType } from "./Pointcut.js"; //#region src/aop/Crosscut.d.ts export interface CrosscutOptions { order?: number; adviceParams?: any; } export interface ClassCrosscutParam { type: typeof PointcutType.CLASS; clazz: EggProtoImplClass; methodName: PropertyKey; } export interface NameCrosscutParam { type: typeof PointcutType.NAME; className: RegExp; methodName: RegExp; } export interface CustomCrosscutParam { type: typeof PointcutType.CUSTOM; callback: CustomPointcutCallback; } export type CrosscutParam = ClassCrosscutParam | NameCrosscutParam | CustomCrosscutParam; export declare const CROSSCUT_INFO_LIST: symbol; export declare const IS_CROSSCUT_ADVICE: symbol; export interface CrosscutInfo { pointcutInfo: PointcutInfo; adviceInfo: AdviceInfo; } //#endregion