import type { SignTypedDataErrorType } from '@wagmi/core' import type { Compute, ConfigParameter } from '@wagmi/core/internal' import { type SignTypedDataData, type SignTypedDataMutate, type SignTypedDataMutateAsync, type SignTypedDataOptions, type SignTypedDataVariables, signTypedDataMutationOptions, } from '@wagmi/core/query' import { type UseMutationReturnType, useMutation } from '../utils/query.js' import { useConfig } from './useConfig.js' export type UseSignTypedDataParameters = Compute< ConfigParameter & SignTypedDataOptions > export type UseSignTypedDataReturnType = Compute< UseMutationReturnType< SignTypedDataData, SignTypedDataErrorType, SignTypedDataVariables, context, SignTypedDataMutate, SignTypedDataMutateAsync > & { /** @deprecated use `mutate` instead */ signTypedData: SignTypedDataMutate /** @deprecated use `mutateAsync` instead */ signTypedDataAsync: SignTypedDataMutateAsync } > /** https://wagmi.sh/vue/api/composables/useSignTypedData */ export function useSignTypedData( parameters: UseSignTypedDataParameters = {}, ): UseSignTypedDataReturnType { const config = useConfig(parameters) const options = signTypedDataMutationOptions(config, parameters) const mutation = useMutation(options) type Return = UseSignTypedDataReturnType return { ...(mutation as Return), signTypedData: mutation.mutate as Return['mutate'], signTypedDataAsync: mutation.mutateAsync as Return['mutateAsync'], } }