@lightninglabs/lnc-web
Version:
Lightning Node Connect npm module for web
27 lines • 983 B
TypeScript
import CryptoService from '../cryptoService';
import { SessionCredentials } from '../types';
export interface EncryptedCredentials {
credentialsKey: CryptoKey;
ciphertextB64: string;
ivB64: string;
}
/**
* Handles encryption and decryption of session credentials.
* Single responsibility: credentials encryption/decryption operations.
*/
export declare class CredentialsEncrypter {
private cryptoService;
/**
* Keep crypto operations delegated so this class only handles credential payload flow.
*/
constructor(cryptoService: CryptoService);
/**
* Encrypt credentials with a one-time key that can be wrapped by higher layers.
*/
encrypt(credentials: SessionCredentials): Promise<EncryptedCredentials>;
/**
* Decrypt previously encrypted credentials and restore the structured object.
*/
decrypt(encrypted: EncryptedCredentials): Promise<SessionCredentials>;
}
//# sourceMappingURL=CredentialsEncrypter.d.ts.map