import { ChainData, ChainType } from "@0xsquid/squid-types";
import { StargateClient } from "@cosmjs/stargate";
import { SuiClient } from "@mysten/sui/client";
import { Connection as SolanaConnection } from "@solana/web3.js";
import { JsonRpcProvider } from "ethers";
import { StellarRpcClient } from "../../services/external/stellarRpcClient";
import { XrplRpcClient } from "../../services/external/xrplRpcClient";
type ChainTypeToClient = {
    [ChainType.EVM]: JsonRpcProvider;
    [ChainType.COSMOS]: StargateClient;
    [ChainType.SOLANA]: SolanaConnection;
    [ChainType.BTC]: null;
    [ChainType.SUI]: SuiClient;
    [ChainType.XRPL]: XrplRpcClient;
    [ChainType.STELLAR]: StellarRpcClient;
    [ChainType.CANTON]: null;
};
export declare function getClient<T extends ChainType>(chain: ChainData): Promise<ChainTypeToClient[T]>;
export {};
