///
///
import { BN } from 'ethereumjs-util';
import { BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, TransactionExplanation, VerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
import { Eth, TransactionBuilder } from '@bitgo-beta/sdk-coin-eth';
import { ExplainTransactionOptions } from '@bitgo-beta/abstract-eth';
declare type FullNodeResponseBody = {
jsonrpc: string;
id: string;
result?: string;
error?: {
code: string;
message: string;
};
};
export declare class Ethw extends Eth {
protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly);
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly): BaseCoin;
getChain(): string;
getFamily(): string;
getFullName(): string;
verifyTransaction(params: VerifyTransactionOptions): Promise;
isWalletAddress(params: VerifyAddressOptions): boolean;
parseTransaction(params: ParseTransactionOptions): Promise;
generateKeyPair(seed?: Buffer | undefined): KeyPair;
/**
* Query full node for the balance of an address
* @param {string} address the ETHw address
* @returns {Promise} address balance
*/
queryAddressBalance(address: string): Promise;
/**
* Queries the contract (via RPC) for the next sequence ID
* @param {string} address address of the contract
* @returns {Promise} sequence ID
*/
querySequenceId(address: string): Promise;
/**
* Queries public full node to get the next ETHw nonce that should be used for the given ETH address
* @param {string} address
* @returns {Promise} next ETHw nonce
*/
getAddressNonce(address: string): Promise;
/**
* Make a RPC query to full node for information such as balance, token balance, solidity calls
* @param {string} method RPC method to execute
* @param {Array} params params to include in the RPC request
* @returns {Promise} response from full node
*/
recoveryFullNodeRPCQuery(method: string, params: Array): Promise;
/**
* Explain a transaction from txHex
* @param params The options with which to explain the transaction
*/
explainTransaction(params: ExplainTransactionOptions): Promise;
/**
* Create a new transaction builder for the current chain
* @return a new transaction builder
*/
protected getTransactionBuilder(): TransactionBuilder;
}
export {};
//# sourceMappingURL=ethw.d.ts.map