import { ChainGrpcWasmApi } from "@injectivelabs/sdk-ts";
import { JsonRpcProvider } from "@mysten/sui.js";
import { Commitment, Connection, PublicKeyInitData } from "@solana/web3.js";
import { LCDClient } from "@terra-money/terra.js";
import { Algodv2 } from "algosdk";
import { AptosClient } from "aptos";
import { ethers } from "ethers";
/**
 * Returns whether or not an asset address on Ethereum is a wormhole wrapped asset
 * @param tokenBridgeAddress
 * @param provider
 * @param assetAddress
 * @returns
 */
export declare function getIsWrappedAssetEth(tokenBridgeAddress: string, provider: ethers.Signer | ethers.providers.Provider, assetAddress: string): Promise<boolean>;
export declare function getIsWrappedAssetTerra(tokenBridgeAddress: string, client: LCDClient, assetAddress: string): Promise<boolean>;
/**
 * Checks if the asset is a wrapped asset
 * @param tokenBridgeAddress The address of the Injective token bridge contract
 * @param client Connection/wallet information
 * @param assetAddress Address of the asset in Injective format
 * @returns true if asset is a wormhole wrapped asset
 */
export declare function getIsWrappedAssetInjective(tokenBridgeAddress: string, client: ChainGrpcWasmApi, assetAddress: string): Promise<boolean>;
/**
 * Returns whether or not an asset on Solana is a wormhole wrapped asset
 * @param connection
 * @param tokenBridgeAddress
 * @param mintAddress
 * @param [commitment]
 * @returns
 */
export declare function getIsWrappedAssetSolana(connection: Connection, tokenBridgeAddress: PublicKeyInitData, mintAddress: PublicKeyInitData, commitment?: Commitment): Promise<boolean>;
export declare const getIsWrappedAssetSol: typeof getIsWrappedAssetSolana;
/**
 * Returns whethor or not an asset on Algorand is a wormhole wrapped asset
 * @param client Algodv2 client
 * @param tokenBridgeId token bridge ID
 * @param assetId Algorand asset index
 * @returns true if the asset is wrapped
 */
export declare function getIsWrappedAssetAlgorand(client: Algodv2, tokenBridgeId: bigint, assetId: bigint): Promise<boolean>;
export declare function getIsWrappedAssetNear(tokenBridge: string, asset: string): boolean;
/**
 * Determines whether or not given address is wrapped or native to Aptos.
 * @param client Client used to transfer data to/from Aptos node
 * @param tokenBridgeAddress Address of token bridge
 * @param assetFullyQualifiedType Fully qualified type of asset
 * @returns True if asset is wrapped
 */
export declare function getIsWrappedAssetAptos(client: AptosClient, tokenBridgeAddress: string, assetFullyQualifiedType: string): Promise<boolean>;
export declare function getIsWrappedAssetSui(provider: JsonRpcProvider, tokenBridgeStateObjectId: string, type: string): Promise<boolean>;
