import "reflect-metadata"; import { Type } from "../../type.interface"; declare type ReadMap = (i: T) => R; export interface PropertyDecoratorDefinition { /** * The path to property in a PropertyMap * e.g. 'my-property.from.any.source' * @see PropertyMap */ path: string; /** * The actual key of a class property * e.g. For this class * * * class Test { * @Property('some.property.path') * myProp: string = '' * } * * * the property is 'myProp' * */ property: string; reader: ReadMap; } export declare function Property(path: string, reader?: ReadMap): ({ constructor }: any, property: string) => void; /** * Converts value to Boolean if present * @param path * @constructor */ export declare const BooleanProperty: (path: string) => ({ constructor }: any, property: string) => void; /** * Converts value to Number if present * @param path * @constructor */ export declare const NumberProperty: (path: string) => ({ constructor }: any, property: string) => void; /** * Converts value to String if present * @param path * @constructor */ export declare const StringProperty: (path: string) => ({ constructor }: any, property: string) => void; export interface ListPropertyOptions { delimiter: string; mapper: ReadMap; } /** * Assuming a string string data (all inputs are converted to string). * * @param path * @param delimiter - default: , * @param mapper - trims each string value * @constructor */ export declare const ListProperty: (path: string, { delimiter, mapper, }?: Partial) => ({ constructor }: any, property: string) => void; export declare function getPropertyDecoratorDefinitions(type: Type): PropertyDecoratorDefinition[]; export {}; //# sourceMappingURL=properties.decorator.d.ts.map