import { Commitment, Connection, PublicKeyInitData } from "@solana/web3.js";
import { LCDClient } from "@terra-money/terra.js";
import { ethers } from "ethers";
import { WormholeWrappedInfo } from "..";
import { ChainId, ChainName } from "../utils";
export interface WormholeWrappedNFTInfo {
    isWrapped: boolean;
    chainId: ChainId;
    assetAddress: Uint8Array;
    tokenId?: string;
}
/**
 * Returns a origin chain and asset address on {originChain} for a provided Wormhole wrapped address
 * @param nftBridgeAddress
 * @param provider
 * @param wrappedAddress
 * @returns
 */
export declare function getOriginalAssetEth(nftBridgeAddress: string, provider: ethers.Signer | ethers.providers.Provider, wrappedAddress: string, tokenId: string, lookupChain: ChainId | ChainName): Promise<WormholeWrappedNFTInfo>;
/**
 * Returns a origin chain and asset address on {originChain} for a provided Wormhole wrapped address
 * @param connection
 * @param nftBridgeAddress
 * @param mintAddress
 * @param [commitment]
 * @returns
 */
export declare function getOriginalAssetSolana(connection: Connection, nftBridgeAddress: PublicKeyInitData, mintAddress: PublicKeyInitData, commitment?: Commitment): Promise<WormholeWrappedNFTInfo>;
export declare const getOriginalAssetSol: typeof getOriginalAssetSolana;
export declare function getOriginalAssetTerra(client: LCDClient, wrappedAddress: string, lookupChain: ChainId | ChainName): Promise<WormholeWrappedInfo>;
