import type { MutationOptions } from '@tanstack/query-core' import { type SignMessageErrorType, type SignMessageParameters, type SignMessageReturnType, signMessage, } from '../actions/signMessage.js' import type { Config } from '../createConfig.js' import type { MutationParameter } from '../types/query.js' import type { Compute } from '../types/utils.js' import type { Mutate, MutateAsync } from './types.js' export type SignMessageOptions = MutationParameter< SignMessageData, SignMessageErrorType, SignMessageVariables, context > export function signMessageMutationOptions( config: Config, options: SignMessageOptions = {}, ): SignMessageMutationOptions { return { ...(options.mutation as any), mutationFn(variables) { return signMessage(config, variables) }, mutationKey: ['signMessage'], } } export type SignMessageMutationOptions = MutationOptions< SignMessageData, SignMessageErrorType, SignMessageVariables > export type SignMessageData = SignMessageReturnType export type SignMessageVariables = Compute export type SignMessageMutate = Mutate< SignMessageData, SignMessageErrorType, SignMessageVariables, context > export type SignMessageMutateAsync = MutateAsync< SignMessageData, SignMessageErrorType, SignMessageVariables, context >