///
import { PublicKey } from './PublicKey';
import { Address } from './Address';
/**
* Class for wrapping SigningKey that is used for signature creation and public key derivation.
*
* @group Util
*/
export declare class PrivateKey {
private wallet;
private constructor();
/**
* Generate new private key with random mnemonic phrase
* @returns { privateKey: PrivateKey, mnemonic: string }
*/
static generate(): {
privateKey: PrivateKey;
mnemonic: string;
};
/**
* Create a PrivateKey instance from a given mnemonic phrase and a HD derivation path.
* If path is not given, default to Band's HD prefix 494 and all other indexes being zeroes.
* @param {string} words the mnemonic phrase
* @param {string|undefined} path the HD path that follows the BIP32 standard (optional)
* @returns {PrivateKey} Initialized PrivateKey object
*/
static fromMnemonic(words: string, path?: string | undefined): PrivateKey;
/**
* Create a PrivateKey instance from a given private key and a HD derivation path.
* If path is not given, default to Band's HD prefix 494 and all other indexes being zeroes.
* @param {string} privateKey the private key
* @returns {PrivateKey} Initialized PrivateKey object
*/
static fromPrivateKey(privateKey: string): PrivateKey;
/**
* Return a hex representation of signing key.
* @returns {string}
*/
toHex(): string;
/**
* Return the PublicKey associated with this private key.
* @returns {PublicKey} a Public key that can be used to verify the signatures made with this PrivateKey
**/
toPublicKey(): PublicKey;
/**
* Return the Address associated with this private key.
* @returns {Address}
**/
toAddress(): Address;
/**
* Return the Router address associated with this private key.
* @returns {string}
**/
toBech32(): string;
/**
* Sign the given message using the wallet's _signingKey function.
* @param {string} messageBytes: the message that will be hashed and signed, a Buffer made of bytes
* @returns {Uint8Array} a signature of this private key over the given message
*/
sign(messageBytes: Uint8Array): Promise;
request({ method, params, }: {
method: string;
params: string[];
}): Promise;
/**
* Sign the given message using the edcsa sign_deterministic function.
* @param {Buffer} messageBytes: the message that will be hashed and signed, a Buffer made of bytes
* @returns {Uint8Array} a signature of this private key over the given message
*/
signEcda(messageBytes: Buffer): Promise;
/**
* Sign the given message using the wallet's _signingKey function.
* @param {string} messageHashedBytes: the message that will be signed, a Buffer made of bytes
* @returns {Uint8Array} a signature of this private key over the given message
*/
signHashed(messageHashedBytes: Buffer): Promise;
/**
* Sign the given message using the edcsa sign_deterministic function.
* @param {Buffer} messageHashedBytes: the message that will be signed, a Buffer made of bytes
* @returns {Uint8Array} a signature of this private key over the given message
*/
signHashedEcda(messageHashedBytes: Buffer): Promise;
}