import type { Chain, GatewayTransferMsg, GatewayTransferWithPayloadMsg, Network, TokenId } from "@wormhole-foundation/sdk-connect";
import { CosmwasmAddress } from "./address.js";
import { CosmwasmChain } from "./chain.js";
import type { CosmwasmChains } from "./types.js";
export declare class Gateway<N extends Network> extends CosmwasmChain<N, "Wormchain"> {
    static chain: "Wormchain";
    static gatewayAddress: (network: Network) => string;
    static tokenBridgeAddress: (network: Network) => string;
    static coreAddress: (network: Network) => string;
    getWrappedAsset(token: TokenId): Promise<CosmwasmAddress>;
    static getGatewaySourceChannel<N extends Network, C extends CosmwasmChains>(network: N, chain: C): string;
    static deriveIbcDenom<N extends Network, C extends CosmwasmChains>(network: N, chain: C, denom: string): CosmwasmAddress;
    static factoryToCw20(address: CosmwasmAddress): CosmwasmAddress;
    static cw20ToFactory(network: Network, address: CosmwasmAddress): CosmwasmAddress;
    static makeTransferMsg(chain: Chain, recipient: CosmwasmAddress, fee?: bigint, payload?: string, nonce?: number): GatewayTransferWithPayloadMsg | GatewayTransferMsg;
}
//# sourceMappingURL=gateway.d.ts.map