import * as crypto from "crypto"; export declare class Encryption { static encryptRequest(key: string, body: unknown): Promise<{ encrypted_body: string; }>; static encryptAES256(b64Key: string, clearText: string): Promise<{ encrypted_body: string; }>; static encryptSafeKeys(headers: any, b64Key: string): void; static decryptResponse(key: string, body: any): Promise; static decryptAES256(b64cipherText: string, b64IV: string, b64Key: string): Promise; } export declare class Signing { static sha256Hash(inputString: string): Promise; static signRequest(path: string, appName: string, sessionKey: string, body?: { [key: string]: unknown; }): Promise<{ [k: string]: string; }>; static verifySignature(headers: { [k: string]: string; }, path: string, appName: string, keys: string[], body?: object): Promise; static signSaltWithPasswordKey(sessionSalt: string, passwordKey: string): Promise; static hmacSign(inputString: string, b64Key: string, b64InputString?: boolean): Promise; } export declare class Keys { static generatePasswordKey(username: string, clearTextPassword: string): Promise; static generateCardholderSafeKey(username: string): Promise; static makeECDHkeyPair(): Promise; static makeECDHPublicKey(myKeyPair: any): Promise; static makeECDHSecretKey(b64serverPublicKey: any, myKeyPair: any): Promise; static sha256pbkdf2(clearTextPassword: string, salt: any, rounds: number): Promise; }