import { CryptoRawOutput } from "../Enities"; import { AbstractCrypto } from "./AbstractCrypto"; import { SymKey } from "./SymKey"; /** * @author Jörn Heinemann * @since 2022/08/19 */ export declare abstract class AbstractSymCrypto extends AbstractCrypto { /** * The latest used key (e.g. the latest group key) * * return the key and the key id */ abstract getSymKeyToEncrypt(): Promise<[string, string]>; abstract getSymKeyToEncryptSync(): [string, string]; abstract getSymKeyById(key_id: string): Promise; abstract getSymKeyByIdSync(key_id: string): string; abstract getSignKey(): Promise; abstract getSignKeySync(): string; abstract getJwt(): Promise; encryptRaw(data: Uint8Array): Promise; encryptRaw(data: Uint8Array, sign: true): Promise; encryptRawSync(data: Uint8Array, sign?: boolean): CryptoRawOutput; decryptRaw(head: string, encrypted_data: Uint8Array): Promise; decryptRaw(head: string, encrypted_data: Uint8Array, verify_key: string): Promise; decryptRawSync(head: string, encrypted_data: Uint8Array, verify_key?: string): Uint8Array; encrypt(data: Uint8Array): Promise; encrypt(data: Uint8Array, sign: true): Promise; encryptSync(data: Uint8Array, sign?: boolean): Uint8Array; decrypt(data: Uint8Array): Promise; decrypt(data: Uint8Array, verify: true, user_id: string): Promise; decryptSync(data: Uint8Array, verify_key?: string): Uint8Array; encryptString(data: string): Promise; encryptString(data: string, sign: true): Promise; encryptStringSync(data: string, sign?: boolean): string; decryptString(data: string): Promise; decryptString(data: string, verify_key: true, user_id: string): Promise; decryptStringSync(data: string, verify_key?: string): string; generateNonRegisteredKey(): Promise<[SymKey, string]>; getNonRegisteredKey(master_key_id: string, key: string): Promise; }