///
import { BaseCoin as StaticsBaseCoin, CoinFamily } from '@bitgo-beta/statics';
import { BaseCoin, BitGoBase, FeeEstimateOptions, FullySignedTransaction, IWallet, KeyPair, ParsedTransaction, ParseTransactionOptions, Recipient, TransactionExplanation, VerifyAddressOptions } from '@bitgo-beta/sdk-core';
import { GetSendMethodArgsOptions, RecoverOptions, RecoveryInfo, SendMethodArgs, TransactionBuilder as EthTransactionBuilder, TransactionPrebuild } from '@bitgo-beta/sdk-coin-eth';
import { AvaxSignTransactionOptions, BuildOptions, ExplainTransactionOptions, FeeEstimate, HopParams, HopPrebuild, HopTransactionBuildOptions, OfflineVaultTxInfo, PrecreateBitGoOptions, PresignTransactionOptions, SignedTransaction, SignFinalOptions, VerifyAvaxcTransactionOptions } from './iface';
export declare class AvaxC extends BaseCoin {
static hopTransactionSalt: string;
protected readonly _staticsCoin: Readonly;
protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly);
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly): BaseCoin;
getBaseFactor(): number;
getChain(): string;
/**
* Get the base chain that the coin exists on.
*/
getBaseChain(): string;
getFamily(): CoinFamily;
getFullName(): string;
valuelessTransferAllowed(): boolean;
isValidAddress(address: string): boolean;
isToken(): boolean;
generateKeyPair(seed?: Buffer): KeyPair;
parseTransaction(params: ParseTransactionOptions): Promise;
verifyAddress({ address }: VerifyAddressOptions): boolean;
/**
* Verify that a transaction prebuild complies with the original intention
*
* @param params
* @param params.txParams params object passed to send
* @param params.txPrebuild prebuild object returned by server
* @param params.wallet Wallet object to obtain keys to verify against
* @returns {boolean}
*/
verifyTransaction(params: VerifyAvaxcTransactionOptions): Promise;
private static isAVAXCAddress;
verifyCoin(txPrebuild: TransactionPrebuild): boolean;
isValidPub(pub: string): boolean;
/**
* Check whether gas limit passed in by user are within our max and min bounds
* If they are not set, set them to the defaults
* @param {number} userGasLimit - user defined gas limit
* @returns {number} the gas limit to use for this transaction
*/
setGasLimit(userGasLimit?: number): number;
/**
* Check whether the gas price passed in by user are within our max and min bounds
* If they are not set, set them to the defaults
* @param {number} userGasPrice - user defined gas price
* @returns the gas price to use for this transaction
*/
setGasPrice(userGasPrice?: number): number;
/**
* Make a query to Snowtrace for information such as balance, token balance, solidity calls
* @param {Object} query — key-value pairs of parameters to append after /api
* @returns {Promise