export type SymmetricCryptoAlgorithm = "AES-CBC" | "AES-CTR" | "AES-GCM"; export type SymmetricCryptoKeyType = string | ArrayBuffer | DataView | Uint8Array | Uint16Array | Uint32Array | BigUint64Array; /** * **\[LEGACY\]** * * Symmetric cryptor, a password based cryptor. * * **Edition:** webcrypto.1 */ export declare class SymmetricCryptor { #private; get [Symbol.toStringTag](): string; /** * Initialize; Only able to create new instance from {@linkcode createSymmetricCryptor}. * @param {symbol} s CPCEP symbol. */ private constructor(); /** * Decrypt data. * @param {Uint8Array} data Data that need to decrypt. * @returns {Promise} A decrypted data. */ decrypt(data: Uint8Array): Promise; } export interface SymmetricCryptorOptions { /** * Algorithm of the symmetric crypto. * @default {"AES-CBC"} */ algorithm?: SymmetricCryptoAlgorithm; } /** * **\[LEGACY\]** * * Create new instance of the {@link SymmetricCryptor symmetric cryptor}. * * **Edition:** webcrypto.1 * @param {SymmetricCryptoKeyType} key Key. * @param {SymmetricCryptorOptions} [options={}] Options. * @returns {Promise} */ export declare function createSymmetricCryptor(key: SymmetricCryptoKeyType, options?: SymmetricCryptorOptions): Promise; /** * **\[LEGACY\]** * * Chain of the symmetric cryptors, multiple passwords based cryptor. * * **Edition:** webcrypto.1 */ export declare class SymmetricCryptorChain { #private; get [Symbol.toStringTag](): string; /** * Initialize. * @param {readonly SymmetricCryptor[]} cryptors Chain of the symmetric cryptors. */ constructor(cryptors: readonly SymmetricCryptor[]); /** * Decrypt data. * @param {Uint8Array} data Data that need to decrypt. * @returns {Promise} A decrypted data. */ decrypt(data: Uint8Array): Promise; }