import { IDictionary, IRawModel } from 'datx-utils'; import { FieldType } from '../../enums/FieldType'; import { IIdentifier } from '../../interfaces/IIdentifier'; import { IReferenceOptions } from '../../interfaces/IReferenceOptions'; import { IType } from '../../interfaces/IType'; import { TRefValue } from '../../interfaces/TRefValue'; import { PureCollection } from '../../PureCollection'; import { PureModel } from '../../PureModel'; interface IMetaToInit extends IDictionary { fields: Array; id?: IIdentifier; refs: IDictionary; type?: IType; } export declare function initModelField(obj: T, key: string, defValue: any, type?: FieldType): void; /** * Initialize a reference to other models * * @export * @param {PureModel} obj Model to which the reference should be added * @param {string} key Model property where the reference will be defined * @param {IReferenceOptions} options Reference options * @param {TRefValue} initialVal Initial reference value */ export declare function initModelRef(obj: PureModel, key: string, options: IReferenceOptions, initialVal: TRefValue): void; export declare function initModelMeta(model: PureModel, data: IRawModel, collection?: PureCollection): IDictionary & IMetaToInit; export declare function mergeMeta(model: PureModel, meta: IDictionary, metaField?: IDictionary): IMetaToInit; export declare function initModel(model: PureModel, rawData: IRawModel, collection?: PureCollection): void; export {};