import { ModelMetadataArgs, RelationMetadataArgs } from '@tdm/core/tdm'; import { ExecuteResponse, ARHookableMethods } from '../fw'; import { ActionMetadataArgs, HookMetadataArgs } from '../metadata'; import { Adapter } from '../fw'; import './meta-class'; import './target-store'; import './target-metadata'; import './prop'; import './relations'; import './mixins'; export declare class NoopAdapter implements Adapter { supports: { cancel: boolean; }; execute(ctx: any, options: any): any; cancel(id: number): void; } declare module '@tdm/core/tdm/lib/add/model/model' { interface ModelMetadata { autoGenIdentity?: boolean; } } export declare function AutoIdentity(): Function; /** * A Resource with a NOOP adapter. * @classDecorator * @param metaArgs */ export declare function Resource(metaArgs: ModelMetadataArgs): any; /** * @propertyDecorator instance * @param metaArgs */ export declare const ExtendAction: (def: Partial>) => (target: Object, propertyKey: string | symbol, descOrIndex?: number | PropertyDescriptor) => any; /** * @propertyDecorator instance * @param def */ export declare const BelongsTo: (def?: RelationMetadataArgs) => (target: Object, propertyKey: string | symbol, descOrIndex?: number | PropertyDescriptor) => any; /** * @propertyDecorator instance * @param def */ export declare const Owns: (def?: RelationMetadataArgs) => (target: Object, propertyKey: string | symbol, descOrIndex?: number | PropertyDescriptor) => any; export declare const Hook: (def: HookMetadataArgs) => (target: Object, propertyKey: string | symbol, descOrIndex?: number | PropertyDescriptor) => any; export declare function BeforeHook(action: ARHookableMethods): (target: Object, propertyKey: string | symbol, descOrIndex?: number | PropertyDescriptor) => any; export declare function AfterHook(action: ARHookableMethods): (target: Object, propertyKey: string | symbol, descOrIndex?: number | PropertyDescriptor) => any; export declare type BeforeHook = { [P in K]: (options: Z) => void | Promise; }; export declare type AfterHook = { [P in K]: (options: Z, rawResponse: ExecuteResponse) => void | Promise; };