import { type CustomPaymasterHandler } from "@abstract-foundation/agw-client";
import { QueryClient } from "@tanstack/react-query";
import React from "react";
import { type Chain, type Transport } from "viem";
interface AbstractWalletConfig {
    /**
     * Determines whether to use abstract testnet
     * @type {boolean}
     * @default false
     */
    chain: Chain;
    /**
     * Optional transport for the client.
     * @type {Transport}
     * @default http()
     */
    transport?: Transport;
    /**
     * Optional query client.
     * @type {QueryClient}
     * @default new QueryClient()
     */
    queryClient?: QueryClient;
    /**
     * Optional custom paymaster handler.
     * @type {CustomPaymasterHandler}
     */
    customPaymasterHandler?: CustomPaymasterHandler;
}
/**
 * AbstractWalletProvider is a React provider that wraps the WagmiProvider and QueryClientProvider.
 * It provides the AbstractWalletContext to its children.
 * @example
 * ```tsx
 * import { AbstractWalletProvider } from '@abstract-foundation/agw-react';
 *
 * const App = () => {
 *   // optional configuration overrides
 *   const transport = http("https://your.abstract.node.example.com/rpc")
 *   const queryClient = new QueryClient()
 *   return (
 *     <AbstractWalletProvider chain={abstractTestnet} transport={transport} queryClient={queryClient}>
 *       <Component {...pageProps} />
 *     </AbstractWalletProvider>
 *   );
 * };
 * ```
 * @param {AbstractWalletConfig} config - The configuration for the AbstractWalletProvider.
 */
export declare const AbstractWalletProvider: ({ chain, transport, queryClient, customPaymasterHandler, children, }: React.PropsWithChildren<AbstractWalletConfig>) => React.JSX.Element;
export {};
//# sourceMappingURL=agwProvider.d.ts.map