import { DecoratorInfo, MetaClassInstanceDetails, MetaClassMetadata, BaseMetadata } from '@tdm/core/tdm'; import { ARHookableMethods } from '../../fw'; export interface StoredHook { before?: HookMetadata; after?: HookMetadata; } export interface HookMetadataArgs { event: 'before' | 'after'; action: ARHookableMethods; } /** @internal */ export declare function factory(this: MetaClassMetadata, metaArgs: HookMetadataArgs, target: Object, info: DecoratorInfo, key: TdmPropertyKey, desc: PropertyDescriptor): MetaClassInstanceDetails; /** @internal */ export declare function register(this: MetaClassMetadata, meta: MetaClassInstanceDetails): void; /** @internal */ export declare function extend(from: Map, to: Map | undefined): Map; export declare class HookMetadata extends BaseMetadata { event: 'before' | 'after'; action: ARHookableMethods; constructor(obj: HookMetadataArgs, info: DecoratorInfo); }