import { Constructor, DecoratorInfo, MetadataClassStatic, MetaClassMetadata, MetaClassInstanceDetails } from '@tdm/core/tdm'; import { ActionMetadata, ActionMetadataArgs } from './action'; export interface AdapterMetadataArgs { actionMetaClass: MetadataClassStatic; DAOClass: Constructor; /** * The resource metadata class. * If not set the metadata arguments are registered to the target metadata instance */ resourceMetaClass?: MetadataClassStatic; } /** @internal */ export declare function factory(this: MetaClassMetadata, metaArgs: AdapterMetadataArgs, target: Object, info: DecoratorInfo): MetaClassInstanceDetails; /** @internal */ export declare function register(this: MetaClassMetadata, meta: MetaClassInstanceDetails): void; export declare class AdapterMetadata { actionMetaClass: MetadataClassStatic; DAOClass: Constructor; resourceMetaClass?: MetadataClassStatic; private actions; addAction(meta: ActionMetadata, target: Constructor): void; addAction(meta: MetaClassInstanceDetails): void; getDAOAction(key: string): ActionMetadata; getActions(...targets: any[]): ActionMetadata[]; /** * @internal */ buildDAO(): void; }