/// <reference types="node" />
import { Commitment, Connection, PublicKeyInitData, Transaction } from "@solana/web3.js";
import { MsgExecuteContract } from "@terra-money/terra.js";
import { ethers, Overrides } from "ethers";
import { ChainId, ChainName } from "../utils";
export declare function transferFromEth(nftBridgeAddress: string, signer: ethers.Signer, tokenAddress: string, tokenID: ethers.BigNumberish, recipientChain: ChainId | ChainName, recipientAddress: Uint8Array, overrides?: Overrides & {
    from?: string | Promise<string>;
}): Promise<ethers.ContractReceipt>;
export declare function transferFromSolana(connection: Connection, bridgeAddress: PublicKeyInitData, nftBridgeAddress: PublicKeyInitData, payerAddress: PublicKeyInitData, fromAddress: PublicKeyInitData, mintAddress: PublicKeyInitData, targetAddress: Uint8Array | Buffer, targetChain: ChainId | ChainName, originAddress?: Uint8Array | Buffer, originChain?: ChainId | ChainName, originTokenId?: Uint8Array | Buffer | number | bigint, commitment?: Commitment): Promise<Transaction>;
export declare function transferFromTerra(walletAddress: string, nftBridgeAddress: string, tokenAddress: string, tokenID: string, recipientChain: ChainId | ChainName, recipientAddress: Uint8Array): Promise<MsgExecuteContract[]>;
