import 'reflect-metadata'; import { MethodMetadata } from '../metadatas/index'; import { Providers } from '../../types'; import { MetadataAdapter, MetadataExtends } from './DecoratorFactory'; /** * Method decorator. * * @export * @interface IMethodDecorator */ export interface IMethodDecorator { (providers?: Providers[]): MethodDecorator; (metadata?: T): MethodDecorator; (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor): void; } /** * create method decorator. * * @export * @template T metadata type. * @param {string} name decorator name. * @param {MetadataAdapter} [adapter] metadata adapter * @param {MetadataExtends} [metadataExtends] add extents for metadata. * @returns */ export declare function createMethodDecorator(name: string, adapter?: MetadataAdapter, metadataExtends?: MetadataExtends): IMethodDecorator;