/// import { AsymmetricEncryptedData, AsymmetricEncryptedDataString, EciesOptions, SymmetricCypherType } from './asymmetricModels'; import { PrivateKey, PublicKey, Signature } from '../models'; export * from './asymmetricModels'; /** default options for ECIES Assymetric encryption (encrypt with public key, decrypt with private key) */ export declare const DefaultEciesOptions: any; export declare const emptyBuffer: Buffer; /** compose the right length of empty buffer for a specific cypherType */ export declare function emptyBufferForIv(symmetricCypherType: SymmetricCypherType): Buffer; /** Verifies that the value is a valid, stringified JSON Encrypted object */ export declare function isAsymEncryptedDataString(value: string): value is AsymmetricEncryptedDataString; /** Ensures that the value comforms to a well-formed, stringified JSON Encrypted Object */ export declare function toAsymEncryptedDataString(value: any): AsymmetricEncryptedDataString; /** ECDH encryption using publicKey */ export declare function encryptWithPublicKey(publicKey: string, // hex string plainText: string, options?: EciesOptions): AsymmetricEncryptedData; /** ECDH decryption using privateKey */ export declare function decryptWithPrivateKey(encrypted: AsymmetricEncryptedData, privateKey: string, // hex string options?: EciesOptions): string; /** Signs a string (utf8) using the private key (hex string) and returns a signature (hex string) */ export declare function sign(value: string, privateKey: PrivateKey): Promise; /** Verifies the signature for the string and returns true if verification succeeded */ export declare function verifySignedWithPublicKey(value: string, publicKey: PublicKey, signature: Signature): boolean;