import { MethodPropMetadata } from '../metadatas/index'; import { MetadataAdapter, MetadataExtends } from './DecoratorFactory'; export declare type MethodPropDecorator = (target: Object, propertyKey: string | symbol, descriptor?: TypedPropertyDescriptor) => void; /** * method and Property decorator. * * @export * @interface IMethodPropDecorator */ export interface IMethodPropDecorator { (metadata?: T): MethodPropDecorator; (target: object, propertyKey: string | symbol, descriptor?: TypedPropertyDescriptor): void; } /** * create method or property decorator * * @export * @template T * @param {string} name * @param {MetadataAdapter} [adapter] metadata adapter * @param {MetadataExtends} [metadataExtends] add extents for metadata. * @returns {IMethodPropDecorator} */ export declare function createMethodPropDecorator(name: string, adapter?: MetadataAdapter, metadataExtends?: MetadataExtends): IMethodPropDecorator;