import { Objectmap } from 'lik'; import { DbCollection } from './smartdata.classes.dbcollection'; export declare type TDocCreation = 'db' | 'new' | 'mixed'; /** * saveable - saveable decorator to be used on class properties */ export declare function svDb(): (target: DbDoc, key: string) => void; export declare class DbDoc { /** * the collection object an Doc belongs to */ collection: DbCollection; /** * how the Doc in memory was created, may prove useful later. */ creationType: TDocCreation; /** * an array of saveable properties of a doc */ saveableProperties: string[]; /** * name */ name: string; /** * class constructor */ constructor(); /** * saves this instance but not any connected items * may lead to data inconsistencies, but is faster */ save(): void; /** * also store any referenced objects to DB * better for data consistency */ saveDeep(savedMapArg?: Objectmap>): void; }