import type { Config, CreateConnectorFn } from 'wagmi';
import type { CoinbaseWalletParameters, MetaMaskParameters, WalletConnectParameters } from 'wagmi/connectors';
export interface DefaultWagmiConfigProps {
    walletConnect?: WalletConnectParameters;
    coinbase?: CoinbaseWalletParameters;
    metaMask?: MetaMaskParameters;
    wagmiConfig?: {
        ssr?: boolean;
        multiInjectedProviderDiscovery?: boolean;
    };
    connectors?: CreateConnectorFn[];
    /**
     * Load Wallet SDKs only if the wallet is the most recently connected wallet
     */
    lazy?: boolean;
}
export interface DefaultWagmiConfigResult {
    config: Config;
    connectors: CreateConnectorFn[];
}
/**
 * Creates default Wagmi config that can be later synced (via useSyncWagmiConfig) with chains fetched from LI.FI API.
 * @param props Properties to setup connectors. {@link DefaultWagmiConfigProps}
 * @returns Wagmi config and connectors. {@link DefaultWagmiConfigResult}
 * @example
 *  const { config, connectors } = createDefaultWagmiConfig({
 *    walletConnect: {
 *      projectId: import.meta.env.VITE_WALLET_CONNECT,
 *    },
 *    coinbase: { appName: 'LI.FI Demo' },
 *  });
 *  export const WalletProvider: FC<PropsWithChildren> = ({ children }) => {
 *    const { chains } = useAvailableChains();
 *    useSyncWagmiConfig(config, connectors, chains);
 *    return (
 *      <WagmiProvider config={wagmi.config} reconnectOnMount={false}>
 *        {children}
 *      </WagmiProvider>
 *    );
 *  };
 */
export declare function createDefaultWagmiConfig(props?: DefaultWagmiConfigProps): DefaultWagmiConfigResult;
