import { useMutation, type UseMutationOptions } from '@tanstack/react-query'; import { type PurchaseInput, purchaseKit, type Transaction } from '../module'; type MutationOptions = UseMutationOptions; interface PurchaseOptions { onSuccess?: MutationOptions['onSuccess']; onError?: MutationOptions['onError']; } export const usePurchaseMutation = (options?: PurchaseOptions) => { const { mutateAsync, variables, reset, error, isPending } = useMutation({ mutationFn: (input: PurchaseInput) => purchaseKit.purchase(input), onSuccess: options?.onSuccess, onError: options?.onError, }); return { mutateAsync, variables, reset, error, isPending, }; };