'use client' import { useMutation } from '@tanstack/react-query' import type { Config, ResolvedRegister, SendTransactionSyncErrorType, } from '@wagmi/core' import type { Compute, ConfigParameter } from '@wagmi/core/internal' import { type SendTransactionSyncData, type SendTransactionSyncMutate, type SendTransactionSyncMutateAsync, type SendTransactionSyncOptions, type SendTransactionSyncVariables, sendTransactionSyncMutationOptions, } from '@wagmi/core/query' import type { UseMutationReturnType } from '../utils/query.js' import { useConfig } from './useConfig.js' export type UseSendTransactionSyncParameters< config extends Config = Config, context = unknown, > = Compute< ConfigParameter & SendTransactionSyncOptions > export type UseSendTransactionSyncReturnType< config extends Config = Config, context = unknown, > = Compute< UseMutationReturnType< SendTransactionSyncData, SendTransactionSyncErrorType, SendTransactionSyncVariables, context, SendTransactionSyncMutate, SendTransactionSyncMutateAsync > & { /** @deprecated use `mutate` instead */ sendTransactionSync: SendTransactionSyncMutate /** @deprecated use `mutateAsync` instead */ sendTransactionSyncAsync: SendTransactionSyncMutateAsync } > /** https://wagmi.sh/react/api/hooks/useSendTransactionSync */ export function useSendTransactionSync< config extends Config = ResolvedRegister['config'], context = unknown, >( parameters: UseSendTransactionSyncParameters = {}, ): UseSendTransactionSyncReturnType { const config = useConfig(parameters) const options = sendTransactionSyncMutationOptions(config, parameters) const mutation = useMutation(options) type Return = UseSendTransactionSyncReturnType return { ...(mutation as Return), sendTransactionSync: mutation.mutate as Return['mutate'], sendTransactionSyncAsync: mutation.mutateAsync as Return['mutateAsync'], } }