import type { AreAllOptional } from '@openapi-qraft/tanstack-query-react-types'; import type { DeepReadonly } from './DeepReadonly.js'; interface QueryFnBaseUrlOptions< TMeta extends Record, TSignal extends AbortSignal, > { /** * Base URL to use for the request * @example 'https://api.example.com' */ baseUrl?: string; meta?: TMeta; signal?: TSignal; } export type ServiceOperationMutationFnOptions< TBody, TParams, TMeta extends Record, TSignal extends AbortSignal = AbortSignal, > = AreAllOptional extends true ? AreAllOptional extends true ? | void // todo::try to move void to arguments | ({ parameters?: DeepReadonly; body?: TBody; } & QueryFnBaseUrlOptions) : { parameters: DeepReadonly; body?: TBody; } & QueryFnBaseUrlOptions : AreAllOptional extends true ? { parameters?: DeepReadonly; body: TBody; } & QueryFnBaseUrlOptions : { parameters: DeepReadonly; body: TBody; } & QueryFnBaseUrlOptions;