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