import type { AreAllOptional, DeepReadonly, MutationVariables, OperationError, ServiceOperationMutationKey, ServiceOperationUseMutationOptions, } from '@openapi-qraft/tanstack-query-react-types'; import type { UseMutationResult } from '@tanstack/react-query'; export interface ServiceOperationUseMutation< TSchema extends { url: string; method: string }, TBody, TMutationData, TMutationParams, TError, > { getMutationKey( parameters: DeepReadonly | void ): ServiceOperationMutationKey; useMutation( parameters: DeepReadonly, options?: ServiceOperationUseMutationOptions< TSchema, TMutationData, TMutationParams, TVariables, OperationError, TContext > ): UseMutationResult< TMutationData, OperationError, AreAllOptional extends true ? TVariables | void : TVariables, TContext >; useMutation< TVariables extends MutationVariables, TContext = unknown, >( parameters: void, options?: ServiceOperationUseMutationOptions< TSchema, TMutationData, TMutationParams, TVariables, OperationError, TContext > ): UseMutationResult< TMutationData, OperationError, TVariables, TContext >; }