Aspect<param>: {    [key in param["AdviceGlobalVariable"] & string]: ValueOf<{        [key in AspectKind]: {             advice: AdviceElement<key, {                 Variable: GetDefault<param, "Variable", string>;             }, GetDefault<param, "Point", Json[]>, {                 State: GetDefault<param, "State", null>;                 Value: GetDefault<param, "Value", unknown>;             }>;             kind: key;             pointcut: PointcutElement<key, ResolvePartialAtom<param>, GetDefault<param, "Point", Json[]>>;         }    }>} Type Parameters
- param extends Partial<Atom> & { 
    AdviceGlobalVariable?: string; 
    Point?: Json[]; 
    State?: unknown; 
    Value?: unknown; 
} = {}