import { AxiosInstance, AxiosResponse } from "axios"; import { WithPayloadHTTPMethods } from "../../types/methods.types"; import { BaseParamType } from "../../types/route.types"; import { ServiceConfig } from "../../types/service.types"; import { PayloadRequestFunctionByParamConfig, PayloadRequestFunctionConfig } from "./factory.types"; export interface WithPayloadRequestFactoryProps { axios: AxiosInstance; prefix: string; method: WithPayloadHTTPMethods; serviceConfig?: ServiceConfig; } /** * Util Method For Sending HTTP Requests * @param axios - Axios Instance * @param prefix - Request Route Prefix * @param method - HTTP Method with Payload * @param serviceConfig - Upper Level Multiple Methods Service Configuration * @returns - Request Function of selected method with route: "prefix/route" */ export declare const withPayloadRequest: ({ axios, prefix, method, serviceConfig }: WithPayloadRequestFactoryProps) => ({ config, key, route, serviceFunction, validation, onError, onSuccess, }?: PayloadRequestFunctionConfig) => (data: PayloadType) => Promise>; /** * Util Method For Sending HTTP Requests * @param axios - Axios Instance * @param prefix - Request Route Prefix * @param method - HTTP Method with Payload * @param serviceConfig - Upper Level Multiple Methods Service Configuration * @returns - Request Function of selected method with route: "prefix/route" */ export declare const withPayloadRequestByParam: ({ axios, prefix, method, serviceConfig }: WithPayloadRequestFactoryProps) => ({ config, key, route, serviceFunction, suffix, validation, onError, onSuccess, }?: PayloadRequestFunctionByParamConfig) => (param: ParamType, data: PayloadType) => Promise>;