import { FolderData } from "../models/data/folderData"; import { Folder } from "../models/domain/folder"; import { SymmetricCryptoKey } from "../models/domain/symmetricCryptoKey"; import { TreeNode } from "../models/domain/treeNode"; import { FolderView } from "../models/view/folderView"; export abstract class FolderService { clearCache: (userId?: string) => Promise; encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise; get: (id: string) => Promise; getAll: () => Promise; getAllDecrypted: () => Promise; getAllNested: () => Promise[]>; getNested: (id: string) => Promise>; saveWithServer: (folder: Folder) => Promise; upsert: (folder: FolderData | FolderData[]) => Promise; replace: (folders: { [id: string]: FolderData }) => Promise; clear: (userId: string) => Promise; delete: (id: string | string[]) => Promise; deleteWithServer: (id: string) => Promise; }