/** * Port interface for PGP operations * * This interface abstracts away the complexity of the underlying PGP library * and provides a clean, testable API for PGP operations. */ export interface PgpKeyPairOptions { name?: string; email?: string; passphrase?: string; } export interface PgpKeyPair { publicKey: string; privateKey: string; } export interface PgpEncryptInput { text: string; publicKeyArmored: string; } export interface PgpDecryptInput { messageArmored: string; privateKeyArmored: string; passphrase?: string; } export interface PgpResult { data: string; } /** * Clean interface for PGP operations */ export interface PgpPort { encrypt(input: PgpEncryptInput): Promise; decrypt(input: PgpDecryptInput): Promise; generateKeyPair(options?: PgpKeyPairOptions): Promise; }