'use client' import { useMutation } from '@tanstack/react-query' import type { WatchAssetErrorType } from '@wagmi/core' import type { Compute, ConfigParameter } from '@wagmi/core/internal' import { type WatchAssetData, type WatchAssetMutate, type WatchAssetMutateAsync, type WatchAssetOptions, type WatchAssetVariables, watchAssetMutationOptions, } from '@wagmi/core/query' import type { UseMutationReturnType } from '../utils/query.js' import { useConfig } from './useConfig.js' export type UseWatchAssetParameters = Compute< ConfigParameter & WatchAssetOptions > export type UseWatchAssetReturnType = Compute< UseMutationReturnType< WatchAssetData, WatchAssetErrorType, WatchAssetVariables, context, WatchAssetMutate, WatchAssetMutateAsync > & { /** @deprecated use `mutate` instead */ watchAsset: WatchAssetMutate /** @deprecated use `mutateAsync` instead */ watchAssetAsync: WatchAssetMutateAsync } > /** https://wagmi.sh/react/api/hooks/useWatchAsset */ export function useWatchAsset( parameters: UseWatchAssetParameters = {}, ): UseWatchAssetReturnType { const config = useConfig(parameters) const options = watchAssetMutationOptions(config, parameters) const mutation = useMutation(options) type Return = UseWatchAssetReturnType return { ...(mutation as Return), watchAsset: mutation.mutate as Return['mutate'], watchAssetAsync: mutation.mutateAsync as Return['mutateAsync'], } }