/** * RSA Encryption Utilities */ /** * Encrypt data using RSA public key in chunks * * The merchant_auth field requires RSA encryption of a JSON object. * Due to RSA key size limitations, data is encrypted in chunks. * * @param data - Data to encrypt (will be JSON stringified) * @param publicKey - RSA public key (PEM format) * @param maxChunkSize - Maximum chunk size (default: 117 for 1024-bit keys) * @returns Base64 encoded encrypted data * @throws {Error} If encryption fails * * @example * const data = { mc_id: 'ec000002', tran_id: '123', refund_amount: 10.00 }; * const encrypted = encryptRSA(data, rsaPublicKey); */ export declare function encryptRSA(data: any, publicKey: string, maxChunkSize?: number): string; /** * Decrypt RSA encrypted data (for testing/verification) * * @param encryptedData - Base64 encoded encrypted data * @param privateKey - RSA private key (PEM format) * @param chunkSize - Encrypted chunk size (default: 128 for 1024-bit keys) * @returns Decrypted string * @throws {Error} If decryption fails */ export declare function decryptRSA(encryptedData: string, privateKey: string, chunkSize?: number): string;