import { Middleware } from "../compose.middleware.js"; import { Context } from "../context.js"; import { ChainId, EVMChainId } from "@certusone/wormhole-sdk"; import { ethers } from "ethers"; import * as solana from "@solana/web3.js"; import * as sui from "@mysten/sui.js"; import { CosmWasmClient } from "@cosmjs/cosmwasm-stargate"; export interface Providers { evm: Partial>; solana: solana.Connection[]; untyped: Partial>; sui: sui.JsonRpcProvider[]; sei: CosmWasmClient[]; } export type UntypedProvider = { rpcUrl: string; }; export interface ProviderContext extends Context { providers: Providers; } export type ChainConfigInfo = { [k in ChainId]: { endpoints: string[]; faucets?: string[]; websockets?: string[]; }; }; export interface ProvidersOpts { chains: Partial; } /** * providers is a middleware that populates `ctx.providers` with provider information * @param opts */ export declare function providers(opts?: ProvidersOpts, supportedChains?: string[]): Middleware;