import { ExtKeyNativePtr } from "../api/ExtKeyNative"; import { BaseApi } from "./BaseApi"; export declare class ExtKey extends BaseApi { private native; ptr: ExtKeyNativePtr; private static freeExtKey; /** * Creates ExtKey from given seed. * @param {Uint8Array} seed the seed used to generate Key * @returns {ExtKey} object */ static fromSeed(seed: Uint8Array): Promise; /** * Decodes ExtKey from Base58 format. * * @param {string} base58 the ExtKey in Base58 * @returns {ExtKey} object */ static fromBase58(base58: string): Promise; /** * Generates a new ExtKey. * * @returns {ExtKey} object */ static generateRandom(): Promise; /** * //doc-gen:ignore */ private constructor(); static fromPtr(ptr: ExtKeyNativePtr): ExtKey; /** * Generates child ExtKey from a current ExtKey using BIP32. * * @param {number} index number from 0 to 2^31-1 * @returns {ExtKey} object */ derive(index: number): Promise; /** * Generates hardened child ExtKey from a current ExtKey using BIP32. * * @param {number} index number from 0 to 2^31-1 * @returns {ExtKey} object */ deriveHardened(index: number): Promise; /** * Converts ExtKey to Base58 string. * * @returns {string} ExtKey in Base58 format */ getPrivatePartAsBase58(): Promise; /** * Converts the public part of ExtKey to Base58 string. * * @returns {string} ExtKey in Base58 format */ getPublicPartAsBase58(): Promise; /** * Extracts ECC PrivateKey. * * @returns {string} ECC key in WIF format */ getPrivateKey(): Promise; /** * Extracts ECC PublicKey. * * @returns {string} ECC key in BASE58DER format */ getPublicKey(): Promise; /** * Extracts raw ECC PrivateKey. * * @returns {Uint8Array} ECC PrivateKey */ getPrivateEncKey(): Promise; /** * Extracts ECC PublicKey Address. * * @returns {string} ECC Address in BASE58 format */ getPublicKeyAsBase58Address(): Promise; /** * Gets the chain code of Extended Key. * * @returns {Uint8Array} Raw chain code */ getChainCode(): Promise; /** * Validates a signature of a message. * * @param {Uint8Array} message data used on validation * @param {Uint8Array} signature signature of data to verify * @returns {boolean} message validation result */ verifyCompactSignatureWithHash(message: Uint8Array, signature: Uint8Array): Promise; /** * Checks if ExtKey is Private. * * @returns {boolean} true if ExtKey is private */ isPrivate(): Promise; }