import 'reflect-metadata'; import { ParameterMetadata } from '../metadatas/index'; import { MetadataAdapter, MetadataExtends } from './DecoratorFactory'; import { Token } from '../../types'; /** * Parameter decorator. * * @export * @interface IParameterDecorator */ export interface IParameterDecorator { (provider: Token): ParameterDecorator; (metadata?: T): ParameterDecorator; (target: object, propertyKey: string | symbol, parameterIndex: number): void; } /** * create parameter 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 createParamDecorator(name: string, adapter?: MetadataAdapter, metadataExtends?: MetadataExtends): IParameterDecorator;