import { Model } from './Model'; import { Constructor } from '../Support'; export declare const ModelMetadataKey = "model:fields"; export interface ModelField { name: string; type: Function | ModelTypeInterface<{}>; } export declare function Field(name?: string): (target: Object, property: string) => void; export declare abstract class ModelTypeInterface { model: Constructor & typeof Model; constructor(model: Constructor & typeof Model); abstract transform(value: Q): Q; } export declare class ModelType extends ModelTypeInterface { transform(value: T): T & Model; } export declare class ArrayType extends ModelTypeInterface { transform(value: T[]): (T & Model)[]; } export declare function FieldMany(type: typeof Model): (target: Object, property: string) => void; export * from './Model'; //# sourceMappingURL=index.d.ts.map