import { useYieldGetMyNetworksHook, useYieldYieldOpportunityHook } from "@stakekit/api-hooks";
import type { WalletList } from "@stakekit/rainbowkit";
import type { QueryClient } from "@tanstack/react-query";
import type { MutableRefObject } from "react";
import { createConfig } from "wagmi";
import type { Chain } from "wagmi/chains";
import type { SKExternalProviders } from "../../domain/types/wallets";
import type { GetEitherAsyncRight } from "../../types";
import { getConfig as getCosmosConfig } from "../cosmos/config";
import { getConfig as getEvmConfig } from "../ethereum/config";
import { getConfig as getMiscConfig } from "../misc/config";
import { getConfig as getSubstrateConfig } from "../substrate/config";
export type BuildWagmiConfig = typeof buildWagmiConfig;
declare const buildWagmiConfig: (opts: {
    externalProviders?: MutableRefObject<SKExternalProviders>;
    forceWalletConnectOnly: boolean;
    customConnectors?: (chains: Chain[]) => WalletList;
    queryClient: QueryClient;
    isLedgerLive: boolean;
    yieldGetMyNetworks: ReturnType<typeof useYieldGetMyNetworksHook>;
    yieldYieldOpportunity: ReturnType<typeof useYieldYieldOpportunityHook>;
    isSafe: boolean;
}) => Promise<{
    evmConfig: GetEitherAsyncRight<ReturnType<typeof getEvmConfig>>;
    cosmosConfig: GetEitherAsyncRight<ReturnType<typeof getCosmosConfig>>;
    miscConfig: GetEitherAsyncRight<ReturnType<typeof getMiscConfig>>;
    substrateConfig: GetEitherAsyncRight<ReturnType<typeof getSubstrateConfig>>;
    wagmiConfig: ReturnType<typeof createConfig>;
    queryParamsInitChainId: number | undefined;
}>;
export declare const useWagmiConfig: () => import("@tanstack/react-query").UseQueryResult<{
    evmConfig: GetEitherAsyncRight<ReturnType<typeof getEvmConfig>>;
    cosmosConfig: GetEitherAsyncRight<ReturnType<typeof getCosmosConfig>>;
    miscConfig: GetEitherAsyncRight<ReturnType<typeof getMiscConfig>>;
    substrateConfig: GetEitherAsyncRight<ReturnType<typeof getSubstrateConfig>>;
    wagmiConfig: ReturnType<typeof createConfig>;
    queryParamsInitChainId: number | undefined;
}, Error>;
export declare const defaultConfig: import("wagmi").Config<readonly [{
    blockExplorers: {
        readonly default: {
            readonly name: "Etherscan";
            readonly url: "https://etherscan.io";
            readonly apiUrl: "https://api.etherscan.io/api";
        };
    };
    contracts: {
        readonly ensRegistry: {
            readonly address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";
        };
        readonly ensUniversalResolver: {
            readonly address: "0xce01f8eee7E479C928F8919abD53E553a36CeF67";
            readonly blockCreated: 19258213;
        };
        readonly multicall3: {
            readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
            readonly blockCreated: 14353601;
        };
    };
    id: 1;
    name: "Ethereum";
    nativeCurrency: {
        readonly name: "Ether";
        readonly symbol: "ETH";
        readonly decimals: 18;
    };
    rpcUrls: {
        readonly default: {
            readonly http: readonly ["https://cloudflare-eth.com"];
        };
    };
    sourceId?: number | undefined;
    testnet?: boolean | undefined;
    custom?: Record<string, unknown> | undefined;
    fees?: import("viem").ChainFees<undefined> | undefined;
    formatters?: undefined;
    serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
}], Record<1, import("@wagmi/core").Transport<string, Record<string, any>, import("viem").EIP1193RequestFn>>>;
export {};
