import { Commitment, Connection, PublicKeyInitData, Transaction } from "@solana/web3.js";
import { MsgExecuteContract } from "@terra-money/terra.js";
import { ethers, Overrides } from "ethers";
import { SignedVaa } from "../vaa";
export declare function redeemOnEth(nftBridgeAddress: string, signer: ethers.Signer, signedVAA: Uint8Array, overrides?: Overrides & {
    from?: string | Promise<string>;
}): Promise<ethers.ContractReceipt>;
export declare function isNFTVAASolanaNative(signedVAA: Uint8Array): Promise<boolean>;
export declare function redeemOnSolana(connection: Connection, bridgeAddress: PublicKeyInitData, nftBridgeAddress: PublicKeyInitData, payerAddress: PublicKeyInitData, signedVaa: SignedVaa, toAuthorityAddress?: PublicKeyInitData, commitment?: Commitment): Promise<Transaction>;
export declare function createMetaOnSolana(connection: Connection, bridgeAddress: PublicKeyInitData, nftBridgeAddress: PublicKeyInitData, payerAddress: PublicKeyInitData, signedVaa: SignedVaa, commitment?: Commitment): Promise<Transaction>;
export declare function redeemOnTerra(nftBridgeAddress: string, walletAddress: string, signedVAA: Uint8Array): Promise<MsgExecuteContract>;
