import { CipherString } from '../../models/domain/cipherString'; import SymmetricCryptoKey from '../../models/domain/symmetricCryptoKey'; import { ProfileOrganizationResponse } from '../../models/response/profileOrganizationResponse'; export interface CryptoService { setKey(key: SymmetricCryptoKey): Promise; setKeyHash(keyHash: string): Promise<{}>; setEncKey(encKey: string): Promise<{}>; setEncPrivateKey(encPrivateKey: string): Promise<{}>; setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}>; getKey(): Promise; getKeyHash(): Promise; getEncKey(): Promise; getPrivateKey(): Promise; getOrgKeys(): Promise>; getOrgKey(orgId: string): Promise; clearKeys(): Promise; toggleKey(): Promise; makeKey(password: string, salt: string): SymmetricCryptoKey; hashPassword(password: string, key: SymmetricCryptoKey): Promise; makeEncKey(key: SymmetricCryptoKey): Promise; encrypt(plainValue: string | Uint8Array, key?: SymmetricCryptoKey, plainValueEncoding?: string): Promise; encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise; decrypt(cipherString: CipherString, key?: SymmetricCryptoKey, outputEncoding?: string): Promise; decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise; rsaDecrypt(encValue: string): Promise; }