import { CollectionData } from '../models/data/collectionData'; import { Collection } from '../models/domain/collection'; import { TreeNode } from '../models/domain/treeNode'; import { CollectionView } from '../models/view/collectionView'; export abstract class CollectionService { decryptedCollectionCache: CollectionView[]; clearCache: () => void; encrypt: (model: CollectionView) => Promise; decryptMany: (collections: Collection[]) => Promise; get: (id: string) => Promise; getAll: () => Promise; getAllDecrypted: () => Promise; getAllNested: (collections?: CollectionView[]) => Promise>>; getNested: (id: string) => Promise>; upsert: (collection: CollectionData | CollectionData[]) => Promise; replace: (collections: { [id: string]: CollectionData; }) => Promise; clear: (userId: string) => Promise; delete: (id: string | string[]) => Promise; }