import Subscriber from "../../observer/Subscriber"; import DataField from "./DataField"; import DataRecordDescriptor from "./DataRecordDescriptor"; import { DataFieldDescriptor, DataProvider, DataSetter } from "./interfaces"; /** * The collection of data fields */ export default class DataRecord implements DataProvider, DataSetter, Subscriber { private _fields; private _modifiedFields; private _recordDescriptor; /** * The cached id of the record */ private _id; /** * The cached data of the record */ private _data?; constructor(recordDescriptor?: DataRecordDescriptor); addField(fd: DataFieldDescriptor): DataField; getField(name: string): DataField; removeField(fd: DataFieldDescriptor): void; /** * Initializes the data record with the data passed in that matches the field descriptors * If the property of the data is not described in the field descriptor, it will be ignored * @param data The data to initialize the data record with */ initialize(data: any): void; getData(): any; set id(id: any); get id(): any; get isModified(): boolean; setData(data: Record): void; reset(): void; onValueSet(descriptor: DataFieldDescriptor, value: any, oldValue: any, initialValue: any): void; } //# sourceMappingURL=DataRecord.d.ts.map