import { TypeMetadata } from '../metadatas/index'; import { MetadataAdapter, MetadataExtends } from './DecoratorFactory'; export declare type MethodPropParamDecorator = (target: Object, propertyKey: string | symbol, descriptor?: number | TypedPropertyDescriptor) => void; /** * method and Property decorator. * * @export * @interface IMethodPropParamDecorator */ export interface IMethodPropParamDecorator { (metadata?: T): MethodPropParamDecorator; (target: object, propertyKey: string | symbol, descriptor?: number | 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 {IMethodPropParamDecorator} */ export declare function createMethodPropParamDecorator(name: string, adapter?: MetadataAdapter, metadataExtends?: MetadataExtends): IMethodPropParamDecorator;