import { Observable } from "rxjs"; import { EncArrayBuffer } from "../../../platform/models/domain/enc-array-buffer"; import { SymmetricCryptoKey } from "../../../platform/models/domain/symmetric-crypto-key"; import { SendData } from "../models/data/send.data"; import { Send } from "../models/domain/send"; import { SendView } from "../models/view/send.view"; export abstract class SendService { sends$: Observable; sendViews$: Observable; encrypt: ( model: SendView, file: File | ArrayBuffer, password: string, key?: SymmetricCryptoKey ) => Promise<[Send, EncArrayBuffer]>; get: (id: string) => Send; /** * @deprecated Do not call this, use the sends$ observable collection */ getAll: () => Promise; /** * @deprecated Only use in CLI */ getFromState: (id: string) => Promise; /** * @deprecated Only use in CLI */ getAllDecryptedFromState: () => Promise; } export abstract class InternalSendService extends SendService { upsert: (send: SendData | SendData[]) => Promise; replace: (sends: { [id: string]: SendData }) => Promise; clear: (userId: string) => Promise; delete: (id: string | string[]) => Promise; }