import { Network } from '@xchainjs/xchain-client';
import { CompatibleAsset } from '@xchainjs/xchain-thorchain-query';
import { Address, Chain, CryptoAmount, TokenAsset, TokenCryptoAmount } from '@xchainjs/xchain-util';
/**
 * Check if a chain is EVM and supported by the protocol
 * @param {Chain} chain to check
 * @returns true if chain is EVM, otherwise, false
 */
export declare const isProtocolEVMChain: (chain: Chain) => boolean;
/**
 * Check if asset is ERC20
 * @param {Asset} asset to check
 * @returns true if asset is ERC20, otherwise, false
 */
export declare const isProtocolERC20Asset: (asset: CompatibleAsset) => asset is TokenAsset;
/**
 * Check if asset is ERC20
 * @param {Asset} asset to check
 * @returns true if asset is ERC20, otherwise, false
 */
export declare const isTokenCryptoAmount: (amount: CryptoAmount) => amount is TokenCryptoAmount;
/**
 * Check if a chain is EVM and supported by the protocol
 * @param {Chain} chain to check
 * @returns true if chain is EVM, otherwise, false
 */
export declare const isProtocolBFTChain: (chain: Chain) => boolean;
export declare const validateAddress: (network: Network, chain: Chain, address: Address) => boolean;
