import { CosmWasmClient } from "@cosmjs/cosmwasm-stargate";
import { ChainAddress, ChainsConfig, Contracts, GatewayTransferMsg, GatewayTransferWithPayloadMsg, IbcBridge, IbcMessageId, IbcTransferInfo, Network, TxHash, WormholeMessageId } from "@wormhole-foundation/connect-sdk";
import { AnyCosmwasmAddress, CosmwasmChains, CosmwasmPlatformType, CosmwasmUnsignedTransaction } from "@wormhole-foundation/connect-sdk-cosmwasm";
export declare class CosmwasmIbcBridge<N extends Network, C extends CosmwasmChains> implements IbcBridge<N, C> {
    readonly network: N;
    readonly chain: C;
    readonly rpc: CosmWasmClient;
    readonly contracts: Contracts;
    private gatewayAddress;
    private channelToChain;
    private chainToChannel;
    private constructor();
    static fromRpc<N extends Network>(rpc: CosmWasmClient, config: ChainsConfig<N, CosmwasmPlatformType>): Promise<CosmwasmIbcBridge<N, CosmwasmChains>>;
    getTransferChannel<C extends CosmwasmChains>(chain: C): string | null;
    transfer(sender: AnyCosmwasmAddress, recipient: ChainAddress, token: AnyCosmwasmAddress, amount: bigint): AsyncGenerator<CosmwasmUnsignedTransaction<N, C>>;
    lookupTransferFromTx(txid: TxHash): Promise<IbcTransferInfo>;
    lookupMessageFromIbcMsgId(msg: IbcMessageId): Promise<WormholeMessageId | null>;
    private lookupTxFromIbcMsgId;
    lookupTransferFromIbcMsgId(msg: IbcMessageId): Promise<IbcTransferInfo>;
    lookupTransferFromMsg(msg: GatewayTransferMsg | GatewayTransferWithPayloadMsg): Promise<IbcTransferInfo>;
    private parseIbcTransferInfo;
    private fetchTransferInfo;
    fetchTransferChannel(chain: CosmwasmChains): Promise<string>;
    private createUnsignedTx;
}
//# sourceMappingURL=ibc.d.ts.map