import { BaseCoin, BaseUnit, CoinFeature, KeyCurve, UnderlyingAsset } from './base';
import { AccountNetwork, BaseNetwork, EthereumNetwork, TronNetwork } from './networks';
/**
 * This is the program id against sol token program.
 */
export declare enum ProgramID {
    TokenProgramId = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
    Token2022ProgramId = "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
}
export interface AccountConstructorOptions {
    id: string;
    fullName: string;
    name: string;
    alias?: string;
    network: AccountNetwork;
    asset: UnderlyingAsset;
    baseUnit: BaseUnit;
    features: CoinFeature[];
    decimalPlaces: number;
    isToken: boolean;
    prefix?: string;
    suffix?: string;
    primaryKeyCurve: KeyCurve;
}
/**
 * Account based coins, such as Ethereum, Stellar, or XRP.
 *
 * These types of coins maintain an "account balance" for each address on the network,
 * as opposed to the unspent transaction output model which maintains a record of all
 * "pieces" of coin which belong to an address.
 */
export declare class AccountCoin extends BaseCoin {
    static readonly DEFAULT_FEATURES: CoinFeature[];
    static readonly DEFAULT_FEATURES_EXCLUDE_SINGAPORE: (CoinFeature.EVM_WALLET | CoinFeature.METAMASK_INSTITUTIONAL | CoinFeature.VALUELESS_TRANSFER | CoinFeature.TRANSACTION_DATA | CoinFeature.REQUIRES_BIG_NUMBER | CoinFeature.REQUIRES_KRS_BACKUP_KEY | CoinFeature.PAYGO | CoinFeature.UNSPENT_MODEL | CoinFeature.LIGHTNING_MODEL | CoinFeature.ACCOUNT_MODEL | CoinFeature.CHILD_PAYS_FOR_PARENT | CoinFeature.SUPPORTS_TOKENS | CoinFeature.ENTERPRISE_PAYS_FEES | CoinFeature.REQUIRES_RESERVE | CoinFeature.CUSTODY | CoinFeature.TSS | CoinFeature.STAKING | CoinFeature.LIQUID_STAKING | CoinFeature.DEPRECATED | CoinFeature.GENERIC_TOKEN | CoinFeature.CUSTODY_BITGO_TRUST | CoinFeature.CUSTODY_BITGO_NEW_YORK | CoinFeature.CUSTODY_BITGO_GERMANY | CoinFeature.CUSTODY_BITGO_SWITZERLAND | CoinFeature.CUSTODY_BITGO_FRANKFURT | CoinFeature.CUSTODY_BITGO_SISTER_TRUST_ONE | CoinFeature.CUSTODY_BITGO_KOREA | CoinFeature.CUSTODY_BITGO_EUROPE_APS | CoinFeature.CUSTODY_BITGO_MENA_FZE | CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE | CoinFeature.CUSTODY_BITGO_INDIA | CoinFeature.EXPIRING_TRANSACTIONS | CoinFeature.MULTISIG_COLD | CoinFeature.TSS_COLD | CoinFeature.SHA256_WITH_ECDSA_TSS | CoinFeature.COSMOS_LIKE_COINS | CoinFeature.REBUILD_ON_CUSTODY_SIGNING | CoinFeature.INCREASED_TX_REQUEST_REBUILD_LIMIT | CoinFeature.BULK_TRANSACTION | CoinFeature.ERC20_BULK_TRANSACTION | CoinFeature.CUSTODY_BULK_TRANSACTION | CoinFeature.DISTRIBUTED_CUSTODY | CoinFeature.BULK_STAKING_TRANSACTION | CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA | CoinFeature.MPCV2 | CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS | CoinFeature.STUCK_TRANSACTION_MANAGEMENT_ONCHAIN | CoinFeature.ETH_ROLLUP_CHAIN | CoinFeature.EIP1559 | CoinFeature.TSS_ENTERPRISE_PAYS_FEES | CoinFeature.FEES_PAID_WITH_TOKEN | CoinFeature.ALPHANUMERIC_MEMO_ID | CoinFeature.WALLET_CONNECT_DEFI | CoinFeature.TSS_SUPPORT_GATED | CoinFeature.MULTISIG_SUPPORT_GATED | CoinFeature.SHARED_EVM_SIGNING | CoinFeature.SHARED_EVM_SDK | CoinFeature.SUPPORTS_ERC20 | CoinFeature.SHARED_COSMOS_SDK | CoinFeature.SHARED_COSMOS_WP | CoinFeature.EVM_COIN | CoinFeature.MULTISIG | CoinFeature.EVM_COMPATIBLE_IMS | CoinFeature.EVM_COMPATIBLE_UI | CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY | CoinFeature.EVM_NON_BITGO_RECOVERY | CoinFeature.REBASE_TOKEN | CoinFeature.EVM_COMPATIBLE_WP | CoinFeature.RESTRICTED | CoinFeature.SHARED_EVM_MESSAGE_SIGNING | CoinFeature.STABLECOIN)[];
    readonly network: AccountNetwork;
    constructor(options: AccountConstructorOptions);
    protected requiredFeatures(): Set<CoinFeature>;
    protected disallowedFeatures(): Set<CoinFeature>;
    static getFeaturesExcluding(excludedFeatures: CoinFeature[]): CoinFeature[];
    static getFeaturesByTypeExcluding(excludedFeatures: CoinFeature[], baseFeatures?: CoinFeature[]): CoinFeature[];
}
export interface GasTankAccountConstructorOptions extends AccountConstructorOptions {
    gasTankLowBalanceAlertFactor: number;
    gasTankMinBalanceRecommendationFactor: number;
    gasTankToken?: string;
}
export interface Erc20ConstructorOptions extends AccountConstructorOptions {
    contractAddress: string;
}
export interface NFTCollectionIdConstructorOptions extends AccountConstructorOptions {
    nftCollectionId: string;
}
export interface StellarCoinConstructorOptions extends AccountConstructorOptions {
    domain: string;
}
export interface HederaCoinConstructorOptions extends AccountConstructorOptions {
    nodeAccountId: string;
}
export interface HederaTokenConstructorOptions extends AccountConstructorOptions {
    nodeAccountId: string;
    contractAddress: string;
}
export interface EosCoinConstructorOptions extends AccountConstructorOptions {
    contractName: string;
    contractAddress: string;
    symbol?: string;
}
export interface SolCoinConstructorOptions extends AccountConstructorOptions {
    tokenAddress: string;
    contractAddress: string;
    programId: string;
}
export interface XrpCoinConstructorOptions extends AccountConstructorOptions {
    issuerAddress: string;
    currencyCode: string;
    domain: string;
    contractAddress: string;
}
export interface SuiCoinConstructorOptions extends AccountConstructorOptions {
    packageId: string;
    module: string;
    symbol: string;
    contractAddress: string;
}
export interface AptCoinConstructorOptions extends AccountConstructorOptions {
    assetId: string;
}
export interface TaoCoinConstructorOptions extends AccountConstructorOptions {
    subnetId: string;
}
export interface PolyxCoinConstructorOptions extends AccountConstructorOptions {
    ticker: string;
    assetId: string;
}
type FiatCoinName = `fiat${string}` | `tfiat${string}`;
export interface FiatCoinConstructorOptions extends AccountConstructorOptions {
    name: FiatCoinName;
}
export interface Sip10TokenConstructorOptions extends AccountConstructorOptions {
    assetId: string;
}
export interface Nep141TokenConstructorOptions extends AccountConstructorOptions {
    contractAddress: string;
    storageDepositAmount: string;
}
export interface VetTokenConstructorOptions extends AccountConstructorOptions {
    contractAddress: string;
    gasTankToken?: string;
}
export interface CosmosTokenConstructorOptions extends AccountConstructorOptions {
    denom: string;
}
export interface JettonTokenConstructorOptions extends AccountConstructorOptions {
    contractAddress: string;
}
export interface AdaTokenConstructorOptions extends AccountConstructorOptions {
    policyId: string;
    assetName: string;
    contractAddress: string;
}
export interface ContractAddress extends String {
    __contractaddress_phantom__: never;
}
export declare class AccountCoinToken extends AccountCoin {
    constructor(options: AccountConstructorOptions);
}
export declare class GasTankAccountCoin extends AccountCoin {
    gasTankLowBalanceAlertFactor: number;
    gasTankMinBalanceRecommendationFactor: number;
    gasTankToken?: string;
    constructor(options: GasTankAccountConstructorOptions);
}
/**
 * Some blockchains support tokens which are defined by an address at which they have a smart contract deployed.
 * Examples are ERC20 tokens, and the equivalent on other chains.
 */
export declare class ContractAddressDefinedToken extends AccountCoinToken {
    contractAddress: ContractAddress;
    constructor(options: Erc20ConstructorOptions);
}
/**
 * Used for blockchains that support NFT collections.
 */
export declare class NFTCollectionIdDefinedToken extends AccountCoinToken {
    nftCollectionId: string;
    constructor(options: NFTCollectionIdConstructorOptions);
}
/**
 * ERC20 token addresses are Base58 formatted on some blockchains.
 */
export declare class Base58ContractAddressDefinedToken extends AccountCoinToken {
    contractAddress: ContractAddress;
    constructor(options: Erc20ConstructorOptions);
}
/**
 * ERC 20 is a token standard for the Ethereum blockchain. They are similar to other account coins, but have a
 * contract address property which identifies the smart contract which defines the token.
 */
export declare class Erc20Coin extends ContractAddressDefinedToken {
}
/**
 * ERC 721 is the non fungible token standard for the Ethereum blockchain.
 *
 * {@link https://eips.ethereum.org/EIPS/eip-721 EIP721}
 */
export declare class Erc721Coin extends ContractAddressDefinedToken {
}
/**
 * ERC 1155 is the multi token standard for the Ethereum blockchain.
 *
 * {@link https://eips.ethereum.org/EIPS/eip-1155 EIP1155}
 */
export declare class Erc1155Coin extends ContractAddressDefinedToken {
}
/**
 * The TRON blockchain supports tokens of the ERC20 standard similar to ETH ERC20 tokens.
 */
export declare class TronErc20Coin extends Base58ContractAddressDefinedToken {
}
/**
 * Some blockchains have native coins which also support the ERC20 interface such as CELO.
 */
export declare class Erc20CompatibleAccountCoin extends ContractAddressDefinedToken {
    constructor(options: Erc20ConstructorOptions);
}
/**
 * The CELO blockchain supports tokens of the ERC20 standard similar to ETH ERC20 tokens.
 */
export declare class CeloCoin extends ContractAddressDefinedToken {
}
/**
 * The BSC blockchain supports tokens of the ERC20 standard similar to ETH ERC20 tokens.
 */
export declare class BscCoin extends ContractAddressDefinedToken {
}
/**
 * The Stellar network supports tokens (non-native assets)
 * XLM is also known as the native asset.
 * Stellar tokens work similar to XLM, but the token name is determined by the chain,
 * the token code and the issuer account in the form: (t)xlm:<token>-<issuer>
 */
export declare class StellarCoin extends AccountCoinToken {
    domain: string;
    constructor(options: StellarCoinConstructorOptions);
}
/**
 * The Hedera coin needs a client set with the node account Id.
 * It's an account based coin that needs the node account ID
 * where the transaction will be sent.
 *
 */
export declare class HederaCoin extends AccountCoinToken {
    nodeAccountId: string;
    constructor(options: HederaCoinConstructorOptions);
}
/**
 * The Hedera network supports tokens.
 * Hedera tokens work similar to native Hedera coin,
 * but the token is determined by the tokenId on the node
 *
 */
export declare class HederaToken extends AccountCoinToken {
    nodeAccountId: string;
    tokenId: string;
    contractAddress: string;
    constructor(options: HederaTokenConstructorOptions);
}
/**
 * The Algo network supports tokens (assets)
 * Algo tokens work similar to native ALGO coin, but the token name is determined by
 * unique asset id on the chain. Internally, BitGo uses token identifiers of the format: (t)algo:<assetId>
 *
 */
export declare class AlgoCoin extends AccountCoinToken {
    constructor(options: AccountConstructorOptions);
}
/**
 * The Eos network supports tokens
 * Eos tokens work similar to native Eos coin, but the token name is determined by
 * the contractName on the chain.
 *
 */
export declare class EosCoin extends AccountCoinToken {
    contractName: string;
    contractAddress: string;
    symbol: string;
    constructor(options: EosCoinConstructorOptions);
}
/**
 * The Sol network supports tokens
 * Sol tokens work similar to native SOL coin, but the token name is determined by
 * the tokenAddress on the chain.
 *
 */
export declare class SolCoin extends AccountCoinToken {
    tokenAddress: string;
    contractAddress: string;
    programId: string;
    constructor(options: SolCoinConstructorOptions);
}
export declare class EthLikeERC20Token extends ContractAddressDefinedToken {
    constructor(options: Erc20ConstructorOptions);
}
/**
 * The AVAX C Chain network support tokens
 * AVAX C Chain Tokens are ERC20 coins
 */
export declare class AvaxERC20Token extends ContractAddressDefinedToken {
    constructor(options: Erc20ConstructorOptions);
}
/**
 * The Polygon Chain network support tokens
 * Polygon Chain Tokens are ERC20 coins
 */
export declare class PolygonERC20Token extends ContractAddressDefinedToken {
    constructor(options: Erc20ConstructorOptions);
}
/**
 * The Arbitrum Chain network support tokens
 * Arbitrum Chain Tokens are ERC20 tokens
 */
export declare class ArbethERC20Token extends ContractAddressDefinedToken {
    constructor(options: Erc20ConstructorOptions);
}
/**
 * The Optimism Chain network support tokens
 * Optimism Chain Tokens are ERC20 tokens
 */
export declare class OpethERC20Token extends ContractAddressDefinedToken {
    constructor(options: Erc20ConstructorOptions);
}
/**
 * The zkSync network support tokens
 * zkSync Tokens are ERC20 tokens
 */
export declare class ZkethERC20Token extends ContractAddressDefinedToken {
    constructor(options: Erc20ConstructorOptions);
}
/**
 * The Bera Chain network support tokens
 * Bera Chain Tokens are ERC20 tokens
 */
export declare class BeraERC20Token extends ContractAddressDefinedToken {
    constructor(options: Erc20ConstructorOptions);
}
/**
 * The Coredao Chain network support tokens
 * Coredao Chain Tokens are ERC20 tokens
 */
export declare class CoredaoERC20Token extends ContractAddressDefinedToken {
    constructor(options: Erc20ConstructorOptions);
}
/**
 * The World Chain network supports tokens
 * World Chain Tokens are ERC20 tokens
 */
export declare class WorldERC20Token extends ContractAddressDefinedToken {
    constructor(options: Erc20ConstructorOptions);
}
/**
 * The Flr Chain network supports tokens
 * Flr Chain Tokens are ERC20 tokens
 */
export declare class FlrERC20Token extends ContractAddressDefinedToken {
    constructor(options: Erc20ConstructorOptions);
}
/**
 * The Xrp network supports tokens
 * Xrp tokens are identified by their issuer address
 * Naming format is similar to XLM
 * <network>:<token>-<issuer>
 */
export declare class XrpCoin extends AccountCoinToken {
    issuerAddress: string;
    currencyCode: string;
    domain: string;
    contractAddress: string;
    constructor(options: XrpCoinConstructorOptions);
}
export declare class SuiCoin extends AccountCoinToken {
    packageId: string;
    module: string;
    symbol: string;
    contractAddress: string;
    constructor(options: SuiCoinConstructorOptions);
}
/**
 * The Apt network supports tokens
 * Apt tokens work similar to native Apt coin, but the token name is determined by
 * the tokenAddress on the chain.
 *
 */
export declare class AptCoin extends AccountCoinToken {
    assetId: string;
    constructor(options: AptCoinConstructorOptions);
}
/**
 * The Apt network supports non-fungible tokens (Digital Asset Standard)
 * Every NFT belongs to an NFT collection.
 */
export declare class AptNFTCollection extends NFTCollectionIdDefinedToken {
}
/**
 * The Vechain network supports non-fungible tokens
 * Every NFT belongs to an NFT collection(contract).
 */
export declare class VetNFTCollection extends NFTCollectionIdDefinedToken {
    gasTankToken?: string;
    constructor(options: NFTCollectionIdConstructorOptions & {
        gasTankToken?: string;
    });
}
/**
 * Fiat currencies, such as USD, EUR, or YEN.
 */
export declare class FiatCoin extends BaseCoin {
    static readonly DEFAULT_FEATURES: CoinFeature[];
    readonly network: BaseNetwork;
    constructor(options: FiatCoinConstructorOptions);
    protected requiredFeatures(): Set<CoinFeature>;
    protected disallowedFeatures(): Set<CoinFeature>;
}
/**
 * The Stacks network supports tokens
 * Stx tokens work similar to native Stx coin, but the token name is determined by
 * the contractName on the chain.
 */
export declare class Sip10Token extends AccountCoinToken {
    assetId: string;
    constructor(options: Sip10TokenConstructorOptions);
}
/**
 * The Near network supports tokens
 * Near tokens work similar to native near coin
 */
export declare class Nep141Token extends AccountCoinToken {
    contractAddress: string;
    storageDepositAmount: string;
    constructor(options: Nep141TokenConstructorOptions);
}
export declare class VetToken extends AccountCoinToken {
    contractAddress: string;
    gasTankToken?: string;
    constructor(options: VetTokenConstructorOptions);
}
/**
 * Cosmos network supports tokens
 * Cosmos tokens work similar to native coins, but the token is determined by
 * the denom on chain.
 *
 */
export declare class CosmosChainToken extends AccountCoinToken {
    denom: string;
    constructor(options: CosmosTokenConstructorOptions);
}
/**
 * TON supports tokens and Jetton is a token standard on TON
 * Jetton tokens work similar to native TON coin
 */
export declare class JettonToken extends AccountCoinToken {
    contractAddress: string;
    constructor(options: JettonTokenConstructorOptions);
}
/**
 * The Bittensor network supports tokens
 * The token name is determined by the subnetId on chain.
 */
export declare class TaoCoin extends AccountCoinToken {
    subnetId: string;
    constructor(options: TaoCoinConstructorOptions);
}
/**
 * The Bittensor network supports tokens
 * The token name is determined by the subnetId on chain.
 */
export declare class PolyxCoin extends AccountCoinToken {
    ticker: string;
    assetId: string;
    constructor(options: PolyxCoinConstructorOptions);
}
export declare class AdaToken extends AccountCoinToken {
    policyId: string;
    assetName: string;
    contractAddress: string;
    constructor(options: AdaTokenConstructorOptions);
}
/**
 * Factory function for account coin instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the coin
 * @param fullName Complete human-readable name of the coin
 * @param network Network object for this coin
 * @param decimalPlaces Number of decimal places this coin supports (divisibility exponent)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve? The elliptic curve for this chain/token
 * @param prefix? Optional coin prefix. Defaults to empty string
 * @param suffix? Optional coin suffix. Defaults to coin name.
 * @param isToken? Whether or not this account coin is a token of another coin
 */
export declare function account(id: string, name: string, fullName: string, network: AccountNetwork, decimalPlaces: number, asset: UnderlyingAsset, baseUnit: BaseUnit, features?: CoinFeature[], primaryKeyCurve?: KeyCurve, prefix?: string, suffix?: string, isToken?: boolean): Readonly<AccountCoin>;
/**
 * Factory function for gas tank account coin instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the coin
 * @param fullName Complete human-readable name of the coin
 * @param network Network object for this coin
 * @param decimalPlaces Number of decimal places this coin supports (divisibility exponent)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param baseUnit
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 * @param gasTankLowBalanceAlertFactor Low gas tank balance alert threshold = (feeEstimate x gasTankLowBalanceAlertFactor)
 * @param gasTankMinBalanceRecommendationFactor Min gas tank balance recommendation = (feeEstimate x gasTankMinBalanceRecommendationFactor)
 * @param prefix Optional coin prefix. Defaults to empty string
 * @param suffix Optional coin suffix. Defaults to coin name.
 * @param isToken Whether or not this account coin is a token of another coin
 */
export declare function gasTankAccount(id: string, name: string, fullName: string, network: AccountNetwork, decimalPlaces: number, asset: UnderlyingAsset, baseUnit: BaseUnit, features?: CoinFeature[], primaryKeyCurve?: KeyCurve, gasTankLowBalanceAlertFactor?: number, gasTankMinBalanceRecommendationFactor?: number, prefix?: string, suffix?: string, isToken?: boolean, gasTankToken?: string): Readonly<GasTankAccountCoin>;
/**
 * Factory function for ethLikeErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents
 * @param network Optional token network
 * @param coinNames The parent coin names for mainnet and testnet
 * @param features Features of this coin
 * @param prefix Optional token prefix
 * @param suffix Optional token suffix
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function erc20Token(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, network: AccountNetwork, features?: CoinFeature[], prefix?: string, suffix?: string, primaryKeyCurve?: KeyCurve): Readonly<EthLikeERC20Token>;
/**
 * Factory function for erc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Ethereum main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function erc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: EthereumNetwork, primaryKeyCurve?: KeyCurve): Readonly<Erc20Coin>;
/**
 * Factory function for testnet erc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the Kovan test network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 */
export declare function terc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: EthereumNetwork): Readonly<Erc20Coin>;
/**
 * Factory function for erc721 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param contractAddress Contract address of this token
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Ethereum main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function erc721(id: string, name: string, fullName: string, contractAddress: string, features?: CoinFeature[], prefix?: string, suffix?: string, network?: EthereumNetwork, primaryKeyCurve?: KeyCurve): Readonly<Erc721Coin>;
/**
 * Factory function for testnet erc721 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param contractAddress Contract address of this token
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Hoodi test network.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function terc721(id: string, name: string, fullName: string, contractAddress: string, features?: CoinFeature[], prefix?: string, suffix?: string, network?: EthereumNetwork, primaryKeyCurve?: KeyCurve): Readonly<Erc721Coin>;
/**
 * Factory function for nonstandard token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param contractAddress Contract address of this token
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Ethereum main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function nonstandardToken(id: string, name: string, fullName: string, contractAddress: string, features?: CoinFeature[], prefix?: string, suffix?: string, network?: EthereumNetwork, primaryKeyCurve?: KeyCurve): Readonly<ContractAddressDefinedToken>;
/**
 * Factory function for erc1155 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param contractAddress Contract address of this token
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Ethereum main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function erc1155(id: string, name: string, fullName: string, contractAddress: string, features?: CoinFeature[], prefix?: string, suffix?: string, network?: EthereumNetwork, primaryKeyCurve?: KeyCurve): Readonly<Erc1155Coin>;
/**
 * Factory function for testnet erc1155 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param contractAddress Contract address of this token
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Hoodi test network.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function terc1155(id: string, name: string, fullName: string, contractAddress: string, features?: CoinFeature[], prefix?: string, suffix?: string, network?: EthereumNetwork, primaryKeyCurve?: KeyCurve): Readonly<Erc1155Coin>;
/**
 * Factory function for ERC20-compatible account coin instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param network Network object for this coin
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function erc20CompatibleAccountCoin(id: string, name: string, fullName: string, network: EthereumNetwork, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, baseUnit: BaseUnit, features?: CoinFeature[], prefix?: string, suffix?: string, primaryKeyCurve?: KeyCurve): Readonly<Erc20CompatibleAccountCoin>;
/**
 * Factory function for celo token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin
 * @param prefix ? Optional token prefix. Defaults to empty string
 * @param suffix ? Optional token suffix. Defaults to token name.
 * @param network ? Optional token network. Defaults to CELO main network.
 * @param features ? Features of this coin. Defaults to the DEFAULT_FEATURES excluding CUSTODY feature
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function celoToken(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: EthereumNetwork, primaryKeyCurve?: KeyCurve): Readonly<CeloCoin>;
/**
 * Factory function for testnet celo token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features ? Features of this coin. Defaults to the DEFAULT_FEATURES excluding CUSTODY feature
 * @param prefix ? Optional token prefix. Defaults to empty string
 * @param suffix ? Optional token suffix. Defaults to token name.
 * @param network ? Optional token network. Defaults to the testnet CELO network.
 */
export declare function tceloToken(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: EthereumNetwork): Readonly<CeloCoin>;
/**
 * Factory function for celo token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to BSC main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function bscToken(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: EthereumNetwork, primaryKeyCurve?: KeyCurve): Readonly<BscCoin>;
/**
 * Factory function for testnet bsc token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the testnet BSC network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 */
export declare function tbscToken(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: EthereumNetwork): Readonly<BscCoin>;
/**
 * Factory function for Stellar token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param domain Domain of the token issuer (used to access token information from the issuer's stellar.toml file)
 * See https://www.stellar.org/developers/guides/concepts/stellar-toml.html
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Stellar mainnet.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function stellarToken(id: string, name: string, fullName: string, decimalPlaces: number, asset: UnderlyingAsset, domain?: string, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<StellarCoin>;
/**
 * Factory function for testnet Stellar token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param domain Domain of the token issuer (used to access token information from the issuer's stellar.toml file)
 * See https://www.stellar.org/developers/guides/concepts/stellar-toml.html
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Stellar testnet.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 */
export declare function tstellarToken(id: string, name: string, fullName: string, decimalPlaces: number, asset: UnderlyingAsset, domain?: string, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork): Readonly<StellarCoin>;
/**
 * Factory function for tron token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to TRON main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function tronToken(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: TronNetwork, primaryKeyCurve?: KeyCurve): Readonly<TronErc20Coin>;
/**
 * Factory function for testnet tron token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the testnet TRON network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function ttronToken(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: TronNetwork, primaryKeyCurve?: KeyCurve): Readonly<TronErc20Coin>;
/**
 * Factory function for Hedera coin instances
 *
 * @param id uuid v4
 * @param name unique identifier of the coin
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param nodeAccountId node account Id from which the transaction will be sent
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Hedera mainnet.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function hederaCoin(id: string, name: string, fullName: string, network: AccountNetwork, decimalPlaces: number, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, primaryKeyCurve?: KeyCurve): Readonly<HederaCoin>;
/**
 * Factory function for Hedera token instances
 *
 * @param id uuid v4
 * @param name unique identifier of the coin
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param nodeAccountId node account Id from which the transaction will be sent
 * @param tokenId The unique identifier of this token
 * @param contractAddress Contract address of this token, same as tokenId
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Hedera mainnet.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function hederaToken(id: string, name: string, fullName: string, network: AccountNetwork, decimalPlaces: number, asset: UnderlyingAsset, contractAddress: string, features?: CoinFeature[], prefix?: string, suffix?: string, primaryKeyCurve?: KeyCurve): Readonly<HederaToken>;
/**
 * Factory function for ALGO token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token

 * @param alias (optional) alternative identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * See https://developer.algorand.org/docs/reference/transactions/#url
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to ALGO mainnet.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function algoToken(id: string, name: string, alias: string | undefined, fullName: string, decimalPlaces: number, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<AlgoCoin>;
/**
 * Factory function for testnet ALGO token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param alias (optional) alternative identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * See https://developer.algorand.org/docs/reference/transactions/#url
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Algo testnet.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 */
export declare function talgoToken(id: string, name: string, alias: string | undefined, fullName: string, decimalPlaces: number, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork): Readonly<AlgoCoin>;
/**
 * Factory function for eos token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractName Contract address of this token
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to EOS main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function eosToken(id: string, name: string, fullName: string, decimalPlaces: number, contractName: string, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, symbol?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<EosCoin>;
/**
 * Factory function for testnet eos token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractName Contract address of this token
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param symbol? token symbol as defined in token contract.
 * @param network? Optional token network. Defaults to the testnet EOS network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 */
export declare function teosToken(id: string, name: string, fullName: string, decimalPlaces: number, contractName: string, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, symbol?: string, network?: AccountNetwork): Readonly<EosCoin>;
/**
 * Factory function for sol token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param tokenAddress Token address of this token
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to SOL main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES and REQUIRES_RESERVE defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function solToken(id: string, name: string, fullName: string, decimalPlaces: number, tokenAddress: string, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], programId?: ProgramID, prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<SolCoin>;
/**
 * Factory function for testnet solana token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param tokenAddress Token address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the testnet Solana network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES and REQUIRES_RESERVE defined in `AccountCoin`
 */
export declare function tsolToken(id: string, name: string, fullName: string, decimalPlaces: number, tokenAddress: string, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], programId?: ProgramID, prefix?: string, suffix?: string, network?: AccountNetwork): Readonly<SolCoin>;
/**
 * Factory function for prod cardano token instances.
 *
 * @param id uuid v4
 * @param name Name of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param policyId Policy Id
 * @param assetName Asset name -> Policy ID + Asset name is the unique identifier
 * @param contractAddress Fingerprint of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the testnet Cardano network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES and REQUIRES_RESERVE defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function adaToken(id: string, name: string, fullName: string, decimalPlaces: number, policyId: string, assetName: string, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<AdaToken>;
/**
 * Factory function for testnet cardano token instances.
 *
 * @param id uuid v4
 * @param name Name of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param policyId Policy Id
 * @param assetName Asset name -> Policy ID + Asset name is the unique identifier
 * @param contractAddress Fingerprint of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the testnet Cardano network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES and REQUIRES_RESERVE defined in `AccountCoin`
 */
export declare function tadaToken(id: string, name: string, fullName: string, decimalPlaces: number, policyId: string, assetName: string, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], network?: AccountNetwork, prefix?: string, suffix?: string): Readonly<AdaToken>;
/**
 * Factory function for avaxErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to AvalancheC main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function avaxErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<AvaxERC20Token>;
/**
 * Factory function for testnet avaxErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the AvalancheC test network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function tavaxErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<AvaxERC20Token>;
/**
 * Factory function for polygonErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Polygon main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function polygonErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<PolygonERC20Token>;
/**
 * Factory function for Amoy testnet polygonErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the Polygon test network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function tpolygonErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<PolygonERC20Token>;
/**
 * Factory function for arbethErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Arbitrum main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function arbethErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<ArbethERC20Token>;
/**
 * Factory function for Arbitrum Sepolia testnet arbethErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the Arbitrum test network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function tarbethErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<ArbethERC20Token>;
/**
 * Factory function for opethErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Optimism main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function opethErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<OpethERC20Token>;
/**
 * Factory function for Optimism Sepolia testnet opethErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the Optimism test network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function topethErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<OpethERC20Token>;
/**
 * Factory function for zkethErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to zkSync mainnet network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function zkethErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<ZkethERC20Token>;
/**
 * Factory function for zkSync Sepolia testnet zkethErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the zkSync sepolia test network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function tzkethErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<ZkethERC20Token>;
/**
 * Factory function for beraErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to bera mainnet network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function beraErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<BeraERC20Token>;
/**
 * Factory function for zkSync Sepolia testnet beraErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the bera test network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function tberaErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<BeraERC20Token>;
/**
 * Factory function for CoredaoErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to coredao mainnet network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function coredaoErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<CoredaoERC20Token>;
/**
 * Factory function for coredao testnet coredaoErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the coredao test network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function tcoredaoErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<CoredaoERC20Token>;
/**
 * Factory function for WorldErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to World Chain mainnet network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function worldErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<WorldERC20Token>;
/**
 * Factory function for world testnet worldErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the World Chain test network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function tworldErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<WorldERC20Token>;
/**
 * Factory function for FlrErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Flr Chain mainnet network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function flrErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<FlrERC20Token>;
/**
 * Factory function for Flr testnet FlrErc20 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the Flr Chain test network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function tflrErc20(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<FlrERC20Token>;
/**
 * Factory function for xrp token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param issuerAddress: The address of the issuer of the token,
 * @param currencyCode The token symbol. Example: USD, BTC, ETH, etc.
 * @param contractAddress Contract address of this token formed with `issuerAddress::currencyCode`
 * @param domain? the domain of the issuer of the token,
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Cardano main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function xrpToken(id: string, name: string, fullName: string, decimalPlaces: number, issuerAddress: string, currencyCode: string, contractAddress: string, domain: string | undefined, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<XrpCoin>;
/**
 * Factory function for testnet cardano token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param issuerAddress: The address of the issuer of the token,
 * @param currencyCode The token symbol. Example: USD, BTC, ETH, etc.
 * @param contractAddress Contract address of this token formed with `issuerAddress::currencyCode`
 * @param domain? the domain of the issuer of the token,
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the testnet Cardano network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 */
export declare function txrpToken(id: string, name: string, fullName: string, decimalPlaces: number, issuerAddress: string, currencyCode: string, contractAddress: string, domain: string | undefined, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork): Readonly<XrpCoin>;
/**
 * Factory function for sui token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param packageId PackageId of this token
 * @param module The module of the package with id `packageId`
 * @param symbol Identifies the coin defined in the module `module` of the package with id `packageId`
 * @param contractAddress Contract address of this token formed with `packageId::module::symbol`
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to SUI main network.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function suiToken(id: string, name: string, fullName: string, decimalPlaces: number, packageId: string, module: string, symbol: string, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<SuiCoin>;
/**
 * Factory function for testnet sui token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param packageId PackageId of this token
 * @param module The module of the package with id `packageId`
 * @param symbol Identifies the coin defined in the module `module` of the package with id `packageId`
 * @param contractAddress Contract address of this token formed with `packageId::module::symbol`
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to SUI test network.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function tsuiToken(id: string, name: string, fullName: string, decimalPlaces: number, packageId: string, module: string, symbol: string, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<SuiCoin>;
/**
 * Factory function for apt token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param assetId Asset Id of this token i.e. the unique identifier of the token for all tokens - fungible, non-fungible and legacy
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to APT main network.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES and REQUIRES_RESERVE defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function aptToken(id: string, name: string, fullName: string, decimalPlaces: number, assetId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<AptCoin>;
/**
 * Factory function for Apt NFT collections.
 *
 * @param id uuid v4
 * @param name unique identifier of the NFT collection
 * @param fullName Complete human-readable name of the NFT collection
 * @param nftCollectionId collection ID of the non-fungible tokens (NFTs)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to APT main network.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES and REQUIRES_RESERVE defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function aptNFTCollection(id: string, name: string, fullName: string, nftCollectionId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<AptNFTCollection>;
/**
 * Factory function for testnet apt token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param assetId Asset Id of this token i.e. the unique identifier of the token for all tokens - fungible, non-fungible and legacy
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to the testnet APT network.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES and REQUIRES_RESERVE defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function taptToken(id: string, name: string, fullName: string, decimalPlaces: number, assetId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<AptCoin>;
/**
 * Factory function for testnet Apt NFT collections.
 *
 * @param id uuid v4
 * @param name unique identifier of the NFT collection
 * @param fullName Complete human-readable name of the NFT collection
 * @param nftCollectionId collection ID of the non-fungible tokens (NFTs)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to APT test network.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES and REQUIRES_RESERVE defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function taptNFTCollection(id: string, name: string, fullName: string, nftCollectionId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<AptNFTCollection>;
/**
 * Factory function for fiat coin instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the coin, should start with 'fiat' or 'tfiat' followed by the 3-char ISO-4217 alphabetical code
 * @param fullName Complete human-readable name of the coin
 * @param network Network object for this coin
 * @param decimalPlaces Number of decimal places this coin supports (divisibility exponent)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `FiatCoin`
 * @param primaryKeyCurve? The elliptic curve for this chain/token
 * @param prefix? Optional coin prefix. Defaults to empty string
 * @param suffix? Optional coin suffix. Defaults to coin name.
 * @param isToken? Whether or not this coin is a token of another coin
 */
export declare function fiat(id: string, name: FiatCoinName, fullName: string, network: BaseNetwork, decimalPlaces: number, asset: UnderlyingAsset, features?: CoinFeature[], primaryKeyCurve?: KeyCurve, prefix?: string, suffix?: string, isToken?: boolean): Readonly<FiatCoin>;
/**
 * Factory function for sip10 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param assetId A unique identifier for a token, which is in the form of contractAddress.contractName::tokenName
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Stacks main network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function sip10Token(id: string, name: string, fullName: string, decimalPlaces: number, assetId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<Sip10Token>;
/**
 * Factory function for testnet sip10 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param assetId A unique identifier for a token, which is in the form of contractAddress.contractName::tokenName
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to the testnet Stacks network.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 */
export declare function tsip10Token(id: string, name: string, fullName: string, decimalPlaces: number, assetId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork): Readonly<Sip10Token>;
/**
 * Factory function for nep141 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param storageDepositAmount the deposit amount needed to get registered with this contract
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to Near main network.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function nep141Token(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, storageDepositAmount: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<Nep141Token>;
/**
 * Factory function for testnet nep141 token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param storageDepositAmount the deposit amount needed to get registered with this contract
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to the testnet Near network.
 */
export declare function tnep141Token(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, storageDepositAmount: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork): Readonly<Nep141Token>;
/**
 * Factory function for vet token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to Near main network.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 * @param gasTankToken representing the token with which gas is paid on the network, defaults to 'VET:VTHO'
 */
export declare function vetToken(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve, gasTankToken?: string): Readonly<VetToken>;
/**
 * Factory function for testnet vet token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to the testnet Near network.
 * @param gasTankToken representing the token with which gas is paid on the network, defaults to 'TVET:VTHO'
 */
export declare function tvetToken(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, gasTankToken?: string): Readonly<VetToken>;
/**
 * Factory function for Vet NFT collections.
 *
 * @param id uuid v4
 * @param name unique identifier of the NFT collection
 * @param fullName Complete human-readable name of the NFT collection
 * @param nftCollectionId collection ID of the non-fungible tokens (NFTs)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to VET main network.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES and REQUIRES_RESERVE defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 * @param gasTankToken representing the token with which gas is paid on the network, defaults to 'VET:VTHO'
 */
export declare function vetNFTCollection(id: string, name: string, fullName: string, nftCollectionId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve, gasTankToken?: string): Readonly<VetNFTCollection>;
/**
 * Factory function for testnet Vet NFT collections.
 *
 * @param id uuid v4
 * @param name unique identifier of the NFT collection
 * @param fullName Complete human-readable name of the NFT collection
 * @param nftCollectionId collection ID of the non-fungible tokens (NFTs)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to VET test network.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES and REQUIRES_RESERVE defined in `AccountCoin`
 * @param primaryKeyCurve The elliptic curve for this chain/token
 * @param gasTankToken representing the token with which gas is paid on the network, defaults to 'TVET:VTHO'
 */
export declare function tvetNFTCollection(id: string, name: string, fullName: string, nftCollectionId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve, gasTankToken?: string): Readonly<VetNFTCollection>;
/**
 * Factory function for Cosmos chain token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param denom denomination of this token which will act as a unique identifier for the token on chain
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param network Network (mainnet or testnet) for this token
 * @param baseUnit Base unit of this token (native asset)
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features Features of this coin. Defaults to the COSMOS_SIDECHAIN_FEATURES defined in `coinFeatures.ts`
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function cosmosToken(id: string, name: string, fullName: string, denom: string, decimalPlaces: number, network: AccountNetwork, baseUnit: BaseUnit, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, primaryKeyCurve?: KeyCurve): Readonly<CosmosChainToken>;
/**
 * Factory function for tao token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param subnetId The uid of the subnet this token belongs to, numerical string
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to TAO main network.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function taoToken(id: string, name: string, fullName: string, decimalPlaces: number, subnetId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<TaoCoin>;
/**
 * Factory function for testnet tao token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param subnetId The uid of the subnet this token belongs to, numerical string
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to TAO test network.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function ttaoToken(id: string, name: string, fullName: string, decimalPlaces: number, subnetId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<TaoCoin>;
/**
 * Factory function for polyx token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param subnetId The uid of the subnet this token belongs to, numerical string
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Polyx main network.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function polyxToken(id: string, name: string, fullName: string, decimalPlaces: number, ticker: string, assetId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<PolyxCoin>;
/**
 * Factory function for testnet polyx token instances.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param subnetId The uid of the subnet this token belongs to, numerical string
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features? Features of this coin. Defaults to the DEFAULT_FEATURES
 * @param prefix? Optional token prefix. Defaults to empty string
 * @param suffix? Optional token suffix. Defaults to token name.
 * @param network? Optional token network. Defaults to Polyx test network.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function tpolyxToken(id: string, name: string, fullName: string, decimalPlaces: number, ticker: string, assetId: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<PolyxCoin>;
/**
 * Factory function for Jetton token instances.
 * Jetton is the token standard on TON blockchain.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to TON main network.
 * @param primaryKeyCurve The elliptic curve for this chain/token
 */
export declare function jettonToken(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<JettonToken>;
/**
 * Factory function for testnet jetton token instances.
 * Jetton is the token standard on TON blockchain.
 *
 * @param id uuid v4
 * @param name unique identifier of the token
 * @param fullName Complete human-readable name of the token
 * @param decimalPlaces Number of decimal places this token supports (divisibility exponent)
 * @param contractAddress Contract address of this token
 * @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
 * @param features Features of this coin. Defaults to the DEFAULT_FEATURES defined in `AccountCoin`
 * @param prefix Optional token prefix. Defaults to empty string
 * @param suffix Optional token suffix. Defaults to token name.
 * @param network Optional token network. Defaults to the testnet TON network.
 */
export declare function tjettonToken(id: string, name: string, fullName: string, decimalPlaces: number, contractAddress: string, asset: UnderlyingAsset, features?: CoinFeature[], prefix?: string, suffix?: string, network?: AccountNetwork, primaryKeyCurve?: KeyCurve): Readonly<JettonToken>;
export {};
//# sourceMappingURL=account.d.ts.map