/** * @typedef {import("./PrivateKey.js").default} PrivateKey */ /** * Multi-word mnemonic phrase (BIP-39). * * Compatible with the official Hedera mobile * wallets (24-words or 22-words) and BRD (12-words). */ export default class Mnemonic { /** * Returns a new random 24-word mnemonic from the BIP-39 * standard English word list. * * @returns {Promise} */ static generate(): Promise; /** * Returns a new random 12-word mnemonic from the BIP-39 * standard English word list. * * @returns {Promise} */ static generate12(): Promise; /** * Construct a mnemonic from a list of words. Handles 12, 22 (legacy), and 24 words. * * An exception of BadMnemonicError will be thrown if the mnemonic * contains unknown words or fails the checksum. An invalid mnemonic * can still be used to create private keys, the exception will * contain the failing mnemonic in case you wish to ignore the * validation error and continue. * * @param {string[]} words * @throws {BadMnemonicError} * @returns {Promise} */ static fromWords(words: string[]): Promise; /** * Recover a mnemonic phrase from a string, splitting on spaces. Handles 12, 22 (legacy), and 24 words. * * @param {string} mnemonic * @returns {Promise} */ static fromString(mnemonic: string): Promise; /** * @param {cryptography.Mnemonic} mnemonic * @hideconstructor * @private */ private constructor(); _mnemonic: cryptography.Mnemonic; /** * @deprecated - Use `toEd25519PrivateKey()` or `toEcdsaPrivateKey()` instead * Recover a private key from this mnemonic phrase, with an * optional passphrase. * @param {string} [passphrase] * @returns {Promise} */ toPrivateKey(passphrase?: string | undefined): Promise; /** * Recover an Ed25519 private key from this mnemonic phrase, with an * optional passphrase. * * @param {string} [passphrase] * @param {number[]} [path] * @returns {Promise} */ toEd25519PrivateKey(passphrase?: string | undefined, path?: number[] | undefined): Promise; /** * Recover an ECDSA private key from this mnemonic phrase, with an * optional passphrase. * * @param {string} [passphrase] * @param {number[]} [path] * @returns {Promise} */ toEcdsaPrivateKey(passphrase?: string | undefined, path?: number[] | undefined): Promise; /** * @returns {Promise} */ toLegacyPrivateKey(): Promise; /** * @returns {string} */ toString(): string; } export type PrivateKey = import("./PrivateKey.js").default; import * as cryptography from "@hashgraph/cryptography";