import { DeepOmit, IdKey, PouchDbReference } from "./common-types"; export type OmittedEntity = DeepOmit; export interface IDbRecord extends IDbAdditionRecord { readonly _id: string; readonly _rev: string; } export declare const SplitDocumentPathPropertyName = "referencePath"; export declare const SplitDocumentDocumentPropertyName = "reference"; export interface ISplitDbRecord> extends IDbRecord { referencePath: PouchDbReference; reference: TReferenceEntity; } export interface IUnmanagedSplitDbRecord> extends IDbRecord { referencePath?: PouchDbReference; reference?: TReferenceEntity; } export interface IDbAdditionRecord { readonly DocumentType: TDocumentType; } export interface IDbRecordBase extends IDbRecord { } export type IRemovalRecord = IDbRecordBase & { _deleted: boolean; }; export interface IIndexableEntity { [key: string]: T; } export type EntityIdKeys> = EntityIdKey[]; export type EntityIdKey> = IdKey>; export interface ICacheDocumentBase { _id: string; } export interface ICachedDatabases extends ICacheDocumentBase { list: string[]; }