import type { SignMessageErrorType } from '@wagmi/core' import type { Compute, ConfigParameter } from '@wagmi/core/internal' import { type SignMessageData, type SignMessageMutate, type SignMessageMutateAsync, type SignMessageOptions, type SignMessageVariables, signMessageMutationOptions, } from '@wagmi/core/query' import { type UseMutationReturnType, useMutation } from '../utils/query.js' import { useConfig } from './useConfig.js' export type UseSignMessageParameters = Compute< ConfigParameter & SignMessageOptions > export type UseSignMessageReturnType = Compute< UseMutationReturnType< SignMessageData, SignMessageErrorType, SignMessageVariables, context, SignMessageMutate, SignMessageMutateAsync > & { /** @deprecated use `mutate` instead */ signMessage: SignMessageMutate /** @deprecated use `mutateAsync` instead */ signMessageAsync: SignMessageMutateAsync } > /** https://wagmi.sh/vue/api/composables/useSignMessage */ export function useSignMessage( parameters: UseSignMessageParameters = {}, ): UseSignMessageReturnType { const config = useConfig(parameters) const options = signMessageMutationOptions(config, parameters) const mutation = useMutation(options) type Return = UseSignMessageReturnType return { ...(mutation as Return), signMessage: mutation.mutate as Return['mutate'], signMessageAsync: mutation.mutateAsync as Return['mutateAsync'], } }