import { MetadataExtends, ArgsIteratorAction } from '@tsdi/ioc'; import { FieldMetadata } from '../metadata'; /** * filed decorator type define. * * @export * @interface IFiledDecorator * @template T */ export interface IFiledDecorator { /** * Filed decorator. */ (dbtype?: string, dbfield?: string, defaultValue?: any, required?: boolean): PropertyDecorator; /** * Filed decorator with metadata map. * @param {T} [metadata] define matadata map to resolve value to the property. */ (metadata?: T): PropertyDecorator; /** * Filed decorator. */ (target: object, propertyKey: string | symbol, descriptor?: TypedPropertyDescriptor): void; } /** * create filed decorator. * * @export * @template T * @param {string} [decoratorName] * @param {MetadataAdapter} [actions] * @param {MetadataExtends} [metaExtends] * @returns {IFiledDecorator} */ export declare function createFieldDecorator(decoratorName?: string, actions?: ArgsIteratorAction[], metaExtends?: MetadataExtends): IFiledDecorator; /** * Filed decorator. */ export declare const Field: IFiledDecorator;