import { Constructor } from '@tdm/core/tdm'; import { TargetMetaModifier as _TargetMetaModifier } from '@tdm/core/testing'; import { OwnsMetadataArgs, BelongsToMetadataArgs, HookMetadataArgs } from '@tdm/data'; import { ARHookableMethods } from '@tdm/data/lib/active-record/interfaces'; export declare class TargetMetaModifier extends _TargetMetaModifier { /** * Add/Remove/Replace a hook * If meta is false remove all hooks from method * If meta is 'before' or 'after' remove that hook only * otherwise replace the hook * @param key * @param meta * @returns */ hook(key: ARHookableMethods, meta: HookMetadataArgs | 'before' | 'after' | false): this; owns(key: string, meta?: OwnsMetadataArgs | false): this; belongsTo(key: string, meta?: BelongsToMetadataArgs | false): this; static create(target: Z & Constructor): TargetMetaModifier; }