import { ChainData, ChainType } from "@0xsquid/squid-types"; import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; import { OfflineSigner } from "@cosmjs/proto-signing"; import { SigningStargateClient } from "@cosmjs/stargate"; import { ChainInfo, Keplr, SettledResponses } from "@keplr-wallet/types"; import { ICosmosContextData } from "../../core/providers/CosmosProvider"; import { ConnectWalletResult, CosmosWallet } from "../../core/types/wallet"; type AddressData = { address: string; chainId: string; }; /** * Get the cosmos address for a given chain * This might pop up a keplr modal to approve the chain * @param chainId * @param keplrTypeWallet * @returns Cosmos address */ export declare const getCosmosKey: (chainId?: string, keplrTypeWallet?: Keplr) => Promise; export declare const getKeysSettled: (chainIds: string[], keplrTypeWallet: Keplr) => Promise>; /** * Get the cosmos address for a given chain * This might pop up a keplr modal to approve the chain * @param chainId * @param keplrTypeWallet * @returns Cosmos address */ export declare const getAllKeysForSupportedCosmosChains: (chainIds: string[], keplrTypeWallet: Keplr | undefined) => Promise; export declare const isCosmosAddressValid: (chainPrefix: string, address: string) => boolean; export declare const getCosmosSigningClient: ({ chainRpc, cosmosSigner, defaultSigningClient, }: { chainRpc: string; cosmosSigner: OfflineSigner | null; defaultSigningClient: typeof SigningStargateClient | typeof SigningCosmWasmClient; }) => Promise; export declare const getCosmosChainInfosObject: (chain: ChainData) => ChainInfo; export declare const connectCosmosWallet: (wallet: CosmosWallet, defaultChain: ChainData | undefined, { connectCosmos, cosmosConnectedWallet, }: Pick) => Promise | null>; export declare const isFallbackAddressNeeded: ({ currentFallbackAddress, address, chain, }: { currentFallbackAddress: string | undefined; address: string | undefined; chain: Pick | undefined; }) => boolean; /** * Cosmos wallets may throw an error if the chain the user is trying to use is not added to the wallet. * For those cases, some wallets expose a method for adding new chains to the user wallet. * * This method will try to add the provided chain, throwing an error if the request fails * or if the original error indicates that the user rejected the request. */ export declare function suggestChainOrThrow({ keplrTypeWallet, chain, error, }: { keplrTypeWallet: Keplr; chain: ChainData; error: unknown; }): Promise; export {};