import type { MutationOptions } from '@tanstack/query-core' import { type DisconnectErrorType, type DisconnectParameters, type DisconnectReturnType, disconnect, } from '../actions/disconnect.js' import type { Config } from '../createConfig.js' import type { MutationParameter } from '../types/query.js' import type { Mutate, MutateAsync } from './types.js' export type DisconnectOptions = MutationParameter< DisconnectData, DisconnectErrorType, DisconnectVariables, context > export function disconnectMutationOptions( config: config, options: DisconnectOptions = {}, ): DisconnectMutationOptions { return { ...(options.mutation as any), mutationFn: async (variables) => { return disconnect(config, variables) }, mutationKey: ['disconnect'], } } export type DisconnectMutationOptions = MutationOptions< DisconnectData, DisconnectErrorType, DisconnectVariables > export type DisconnectData = DisconnectReturnType export type DisconnectVariables = DisconnectParameters | undefined export type DisconnectMutate = Mutate< DisconnectData, DisconnectErrorType, DisconnectVariables, context > export type DisconnectMutateAsync = MutateAsync< DisconnectData, DisconnectErrorType, DisconnectVariables, context >