import { SendData } from '../models/data/sendData'; import { Send } from '../models/domain/send'; import { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey'; import { SendView } from '../models/view/sendView'; export abstract class SendService { decryptedSendCache: SendView[]; clearCache: () => void; encrypt: (model: SendView, file: File, password: string, key?: SymmetricCryptoKey) => Promise<[Send, ArrayBuffer]>; get: (id: string) => Promise; getAll: () => Promise; getAllDecrypted: () => Promise; saveWithServer: (sendData: [Send, ArrayBuffer]) => Promise; upsert: (send: SendData | SendData[]) => Promise; replace: (sends: { [id: string]: SendData; }) => Promise; clear: (userId: string) => Promise; delete: (id: string | string[]) => Promise; deleteWithServer: (id: string) => Promise; removePasswordWithServer: (id: string) => Promise; }