import { PropertyMetadata } from '../metadatas/index'; import { MetadataAdapter, MetadataExtends } from './DecoratorFactory'; import { Token } from '../../types'; /** * property decorator. * * @export * @interface IPropertyDecorator */ export interface IPropertyDecorator { (provider: Token): PropertyDecorator; (metadata?: T): PropertyDecorator; (target: object, propertyKey: string | symbol): void; } /** * create property 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 createPropDecorator(name: string, adapter?: MetadataAdapter, metadataExtends?: MetadataExtends): IPropertyDecorator;