import { CryptoModule } from '../types'; export * from '../types'; export default class Crypto extends CryptoModule { /** * We cannot create a new instance using this method as we need to await the * loading of an underlying module, hence, we need to await the static * init() method on this class to receive an instance of the class * * @protected */ protected constructor(); /** * Initializes a new instance of this class after attempting to load * the underlying cryptographic library in the order the fastest * running library to the slowest * * @param externalLibrary */ static init(externalLibrary?: Partial): Promise; /** * Forces the library to use the Javascript ASM.js underlying * cryptographic library if it can */ static force_js_library(): Promise; /** * Forces the library to use the WASM underlying cryptographic * library if it can */ static force_wasm_library(): Promise; /** * Attempts to load the Node.js C++ Addon module as the underlying * cryptographic library * * @private */ private static load_node_library; /** * Attempts to load the Javascript ASM.js module as the underlying * cryptographic library * * @private */ private static load_js_library; /** * Attempts to load the WASM module as the underlying cryptographic * library * * @private */ private static load_wasm_library; } export { Crypto };