import { LavaSDKOptions } from "@lavanet/lava-sdk";
export declare function createViemClientWithLavaSDK(options: LavaSDKOptions): Promise<{
    account: undefined;
    batch?: {
        multicall?: boolean | {
            batchSize?: number | undefined;
            wait?: number | undefined;
        } | undefined;
    } | undefined;
    cacheTime: number;
    chain: undefined;
    key: string;
    name: string;
    pollingInterval: number;
    request: import("viem").EIP1193RequestFn<import("viem").PublicRpcSchema>;
    transport: import("viem").TransportConfig<"custom", import("viem").EIP1193RequestFn>;
    type: string;
    uid: string;
    call: (parameters: import("viem").CallParameters<undefined>) => Promise<import("viem").CallReturnType>;
    createBlockFilter: () => Promise<{
        id: `0x${string}`;
        request: import("viem").EIP1193RequestFn<readonly [{
            Method: "eth_getFilterChanges";
            Parameters: [filterId: `0x${string}`];
            ReturnType: import("viem").RpcLog[] | `0x${string}`[];
        }, {
            Method: "eth_getFilterLogs";
            Parameters: [filterId: `0x${string}`];
            ReturnType: import("viem").RpcLog[];
        }, {
            Method: "eth_uninstallFilter";
            Parameters: [filterId: `0x${string}`];
            ReturnType: boolean;
        }]>;
        type: "block";
    }>;
    createContractEventFilter: <const TAbi extends import("viem").Abi | readonly unknown[], TEventName extends string | undefined, TArgs extends import("viem/_types/types/contract").MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined, TStrict extends boolean | undefined = undefined, TFromBlock extends bigint | import("viem").BlockTag | undefined = undefined, TToBlock extends bigint | import("viem").BlockTag | undefined = undefined>(args: import("viem").CreateContractEventFilterParameters<TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>) => Promise<import("viem").CreateContractEventFilterReturnType<TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>>;
    createEventFilter: <const TAbiEvent extends import("abitype").AbiEvent | undefined = undefined, const TAbiEvents extends readonly unknown[] | readonly import("abitype").AbiEvent[] | undefined = TAbiEvent extends import("abitype").AbiEvent ? [TAbiEvent] : undefined, TStrict_1 extends boolean | undefined = undefined, TFromBlock_1 extends bigint | import("viem").BlockTag | undefined = undefined, TToBlock_1 extends bigint | import("viem").BlockTag | undefined = undefined, _EventName extends string | undefined = import("viem/_types/types/contract").MaybeAbiEventName<TAbiEvent>, _Args extends import("viem/_types/types/contract").MaybeExtractEventArgsFromAbi<TAbiEvents, _EventName> | undefined = undefined>(args?: import("viem").CreateEventFilterParameters<TAbiEvent, TAbiEvents, TStrict_1, TFromBlock_1, TToBlock_1, _EventName, _Args> | undefined) => Promise<import("viem").Filter<"event", TAbiEvents, _EventName, _Args, TStrict_1, TFromBlock_1, TToBlock_1> extends infer T ? { [K in keyof T]: import("viem").Filter<"event", TAbiEvents, _EventName, _Args, TStrict_1, TFromBlock_1, TToBlock_1>[K]; } : never>;
    createPendingTransactionFilter: () => Promise<{
        id: `0x${string}`;
        request: import("viem").EIP1193RequestFn<readonly [{
            Method: "eth_getFilterChanges";
            Parameters: [filterId: `0x${string}`];
            ReturnType: import("viem").RpcLog[] | `0x${string}`[];
        }, {
            Method: "eth_getFilterLogs";
            Parameters: [filterId: `0x${string}`];
            ReturnType: import("viem").RpcLog[];
        }, {
            Method: "eth_uninstallFilter";
            Parameters: [filterId: `0x${string}`];
            ReturnType: boolean;
        }]>;
        type: "transaction";
    }>;
    estimateContractGas: <TChain extends import("viem").Chain | undefined, const TAbi_1 extends import("viem").Abi | readonly unknown[], TFunctionName extends string>(args: import("viem").EstimateContractGasParameters<TAbi_1, TFunctionName, TChain, import("viem").Account | undefined>) => Promise<bigint>;
    estimateGas: (args: import("viem").EstimateGasParameters<undefined, import("viem").Account | undefined>) => Promise<bigint>;
    getBalance: (args: import("viem").GetBalanceParameters) => Promise<bigint>;
    getBlock: <TIncludeTransactions extends boolean = false, TBlockTag extends import("viem").BlockTag = "latest">(args?: import("viem").GetBlockParameters<TIncludeTransactions, TBlockTag> | undefined) => Promise<import("viem").GetBlockReturnType<undefined, TIncludeTransactions, TBlockTag>>;
    getBlockNumber: (args?: import("viem").GetBlockNumberParameters | undefined) => Promise<bigint>;
    getBlockTransactionCount: (args?: import("viem").GetBlockTransactionCountParameters | undefined) => Promise<number>;
    getBytecode: (args: import("viem").GetBytecodeParameters) => Promise<import("viem").GetBytecodeReturnType>;
    getChainId: () => Promise<number>;
    getContractEvents: <const TAbi_2 extends import("viem").Abi | readonly unknown[], TEventName_1 extends string | undefined = undefined, TStrict_2 extends boolean | undefined = undefined, TFromBlock_2 extends bigint | import("viem").BlockTag | undefined = undefined, TToBlock_2 extends bigint | import("viem").BlockTag | undefined = undefined>(args: import("viem/_types/actions/public/getContractEvents").GetContractEventsParameters<TAbi_2, TEventName_1, TStrict_2, TFromBlock_2, TToBlock_2>) => Promise<import("viem/_types/actions/public/getContractEvents").GetContractEventsReturnType<TAbi_2, TEventName_1, TStrict_2, TFromBlock_2, TToBlock_2>>;
    getEnsAddress: (args: {
        blockNumber?: bigint | undefined;
        blockTag?: import("viem").BlockTag | undefined;
        coinType?: number | undefined;
        name: string;
        universalResolverAddress?: `0x${string}` | undefined;
    }) => Promise<import("viem").GetEnsAddressReturnType>;
    getEnsAvatar: (args: {
        name: string;
        blockNumber?: bigint | undefined;
        blockTag?: import("viem").BlockTag | undefined;
        universalResolverAddress?: `0x${string}` | undefined;
        gatewayUrls?: import("viem").AssetGatewayUrls | undefined;
    }) => Promise<import("viem/_types/actions/ens/getEnsAvatar").GetEnsAvatarReturnType>;
    getEnsName: (args: {
        blockNumber?: bigint | undefined;
        blockTag?: import("viem").BlockTag | undefined;
        address: `0x${string}`;
        universalResolverAddress?: `0x${string}` | undefined;
    }) => Promise<import("viem").GetEnsNameReturnType>;
    getEnsResolver: (args: {
        blockNumber?: bigint | undefined;
        blockTag?: import("viem").BlockTag | undefined;
        name: string;
        universalResolverAddress?: `0x${string}` | undefined;
    }) => Promise<`0x${string}`>;
    getEnsText: (args: {
        blockNumber?: bigint | undefined;
        blockTag?: import("viem").BlockTag | undefined;
        name: string;
        key: string;
        universalResolverAddress?: `0x${string}` | undefined;
    }) => Promise<import("viem/_types/actions/ens/getEnsText").GetEnsTextReturnType>;
    getFeeHistory: (args: import("viem").GetFeeHistoryParameters) => Promise<import("viem").GetFeeHistoryReturnType>;
    estimateFeesPerGas: <TChainOverride extends import("viem").Chain | undefined = undefined, TType extends import("viem").FeeValuesType = "eip1559">(args?: import("viem").EstimateFeesPerGasParameters<undefined, TChainOverride, TType> | undefined) => Promise<import("viem").EstimateFeesPerGasReturnType>;
    getFilterChanges: <TFilterType extends import("viem/_types/types/filter").FilterType, const TAbi_3 extends import("viem").Abi | readonly unknown[] | undefined, TEventName_2 extends string | undefined, TStrict_3 extends boolean | undefined = undefined, TFromBlock_3 extends bigint | import("viem").BlockTag | undefined = undefined, TToBlock_3 extends bigint | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetFilterChangesParameters<TFilterType, TAbi_3, TEventName_2, TStrict_3, TFromBlock_3, TToBlock_3>) => Promise<import("viem").GetFilterChangesReturnType<TFilterType, TAbi_3, TEventName_2, TStrict_3, TFromBlock_3, TToBlock_3>>;
    getFilterLogs: <const TAbi_4 extends import("viem").Abi | readonly unknown[] | undefined, TEventName_3 extends string | undefined, TStrict_4 extends boolean | undefined = undefined, TFromBlock_4 extends bigint | import("viem").BlockTag | undefined = undefined, TToBlock_4 extends bigint | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetFilterLogsParameters<TAbi_4, TEventName_3, TStrict_4, TFromBlock_4, TToBlock_4>) => Promise<import("viem").GetFilterLogsReturnType<TAbi_4, TEventName_3, TStrict_4, TFromBlock_4, TToBlock_4>>;
    getGasPrice: () => Promise<bigint>;
    getLogs: <const TAbiEvent_1 extends import("abitype").AbiEvent | undefined = undefined, const TAbiEvents_1 extends readonly unknown[] | readonly import("abitype").AbiEvent[] | undefined = TAbiEvent_1 extends import("abitype").AbiEvent ? [TAbiEvent_1] : undefined, TStrict_5 extends boolean | undefined = undefined, TFromBlock_5 extends bigint | import("viem").BlockTag | undefined = undefined, TToBlock_5 extends bigint | import("viem").BlockTag | undefined = undefined>(args?: import("viem").GetLogsParameters<TAbiEvent_1, TAbiEvents_1, TStrict_5, TFromBlock_5, TToBlock_5> | undefined) => Promise<import("viem").GetLogsReturnType<TAbiEvent_1, TAbiEvents_1, TStrict_5, TFromBlock_5, TToBlock_5>>;
    getProof: (args: import("viem/_types/actions/public/getProof").GetProofParameters) => Promise<import("viem/_types/actions/public/getProof").GetProofReturnType>;
    estimateMaxPriorityFeePerGas: <TChainOverride_1 extends import("viem").Chain | undefined = undefined>(args?: {
        chain: TChainOverride_1 | null;
    } | undefined) => Promise<bigint>;
    getStorageAt: (args: import("viem").GetStorageAtParameters) => Promise<import("viem").GetStorageAtReturnType>;
    getTransaction: <TBlockTag_1 extends import("viem").BlockTag = "latest">(args: import("viem").GetTransactionParameters<TBlockTag_1>) => Promise<import("viem").GetTransactionReturnType<undefined, TBlockTag_1>>;
    getTransactionConfirmations: (args: import("viem").GetTransactionConfirmationsParameters<undefined>) => Promise<bigint>;
    getTransactionCount: (args: import("viem").GetTransactionCountParameters) => Promise<number>;
    getTransactionReceipt: (args: import("viem").GetTransactionReceiptParameters) => Promise<import("viem").TransactionReceipt>;
    multicall: <TContracts extends import("viem").ContractFunctionConfig[], TAllowFailure extends boolean = true>(args: import("viem").MulticallParameters<TContracts, TAllowFailure>) => Promise<import("viem").MulticallReturnType<TContracts, TAllowFailure>>;
    prepareTransactionRequest: <TChainOverride_2 extends import("viem").Chain | undefined = undefined>(args: import("viem").PrepareTransactionRequestParameters<undefined, import("viem").Account | undefined, TChainOverride_2>) => Promise<import("viem").PrepareTransactionRequestReturnType>;
    readContract: <const TAbi_5 extends import("viem").Abi | readonly unknown[], TFunctionName_1 extends string>(args: import("viem").ReadContractParameters<TAbi_5, TFunctionName_1>) => Promise<import("viem").ReadContractReturnType<TAbi_5, TFunctionName_1>>;
    sendRawTransaction: (args: import("viem/_types/actions/wallet/sendRawTransaction").SendRawTransactionParameters) => Promise<`0x${string}`>;
    simulateContract: <const TAbi_6 extends import("viem").Abi | readonly unknown[], TFunctionName_2 extends string, TChainOverride_3 extends import("viem").Chain | undefined = undefined>(args: import("viem").SimulateContractParameters<TAbi_6, TFunctionName_2, undefined, TChainOverride_3>) => Promise<import("viem").SimulateContractReturnType<TAbi_6, TFunctionName_2, undefined, TChainOverride_3>>;
    verifyMessage: (args: import("viem/_types/actions/public/verifyMessage").VerifyMessageParameters) => Promise<boolean>;
    verifyTypedData: (args: import("viem/_types/actions/public/verifyTypedData").VerifyTypedDataParameters) => Promise<boolean>;
    uninstallFilter: (args: import("viem").UninstallFilterParameters) => Promise<boolean>;
    waitForTransactionReceipt: (args: import("viem").WaitForTransactionReceiptParameters<undefined>) => Promise<import("viem").TransactionReceipt>;
    watchBlockNumber: (args: import("viem").WatchBlockNumberParameters) => import("viem").WatchBlockNumberReturnType;
    watchBlocks: <TIncludeTransactions_1 extends boolean = false, TBlockTag_2 extends import("viem").BlockTag = "latest">(args: import("viem").WatchBlocksParameters<import("viem").CustomTransport, undefined, TIncludeTransactions_1, TBlockTag_2>) => import("viem").WatchBlocksReturnType;
    watchContractEvent: <const TAbi_7 extends import("viem").Abi | readonly unknown[], TEventName_4 extends string, TStrict_6 extends boolean | undefined = undefined>(args: import("viem").WatchContractEventParameters<TAbi_7, TEventName_4, TStrict_6>) => import("viem").WatchContractEventReturnType;
    watchEvent: <const TAbiEvent_2 extends import("abitype").AbiEvent | undefined = undefined, const TAbiEvents_2 extends readonly unknown[] | readonly import("abitype").AbiEvent[] | undefined = TAbiEvent_2 extends import("abitype").AbiEvent ? [TAbiEvent_2] : undefined, TStrict_7 extends boolean | undefined = undefined>(args: import("viem").WatchEventParameters<TAbiEvent_2, TAbiEvents_2, TStrict_7>) => import("viem").WatchEventReturnType;
    watchPendingTransactions: (args: import("viem").WatchPendingTransactionsParameters<import("viem").CustomTransport>) => import("viem").WatchPendingTransactionsReturnType;
    extend: <const client extends {
        [x: string]: unknown;
        account?: undefined;
        batch?: undefined;
        cacheTime?: undefined;
        chain?: undefined;
        key?: undefined;
        name?: undefined;
        pollingInterval?: undefined;
        request?: undefined;
        transport?: undefined;
        type?: undefined;
        uid?: undefined;
    } & Partial<Pick<import("viem").PublicActions, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<import("viem").WalletActions, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client<import("viem").CustomTransport, undefined, undefined, import("viem").PublicRpcSchema, import("viem").PublicActions<import("viem").CustomTransport, undefined>>) => client) => import("viem").Client<import("viem").CustomTransport, undefined, undefined, import("viem").PublicRpcSchema, { [K_1 in keyof client]: client[K_1]; } & import("viem").PublicActions<import("viem").CustomTransport, undefined>>;
}>;
