import type { AxiosInstance } from 'contentful-sdk-core'; import type { MRActions, MROpts, MRReturn } from '../../common-types'; /** * @private */ export type RestEndpoint ? MROpts['params'] : undefined, Payload = 'payload' extends keyof MROpts ? MROpts['payload'] : undefined, Headers = 'headers' extends keyof MROpts ? MROpts['headers'] : undefined, Return = MRReturn> = Params extends undefined ? (http: AxiosInstance) => Return : Payload extends undefined ? (http: AxiosInstance, params: Params) => Return : Headers extends undefined ? (http: AxiosInstance, params: Params, payload: Payload) => Return : (http: AxiosInstance, params: Params, payload: Payload, headers: Headers) => Return;