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 { clearCache: (userId?: string) => Promise; 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; }