import { AxiosInstance } from "axios"; import ForestInstance from "../forest/instance"; import { ServiceConfig } from "../types/service.types"; import { Prefix } from "../types/route"; import { NoPayloadHTTPMethods, WithPayloadHTTPMethods } from "../types/methods.types"; export declare class RequestFactory { private axios; private prefix; private config; constructor(axios: AxiosInstance, prefix: Prefix, config?: ServiceConfig); noPayloadRequest: (method: NoPayloadHTTPMethods) => (route?: import("../types/route").Route | undefined, config?: import("axios").AxiosRequestConfig | undefined) => () => Promise; noPayloadRequestByParam: (method: NoPayloadHTTPMethods) => (route?: import("../types/route").Route | undefined, config?: import("axios").AxiosRequestConfig | undefined) => (param: ParamType) => Promise>; withPayloadRequest: (method: WithPayloadHTTPMethods) => (route?: import("../types/route").Route | undefined, key?: string | undefined, config?: import("axios").AxiosRequestConfig | undefined) => (data: PayloadType) => Promise>; withPayloadRequestByParam: (method: WithPayloadHTTPMethods) => (route?: import("../types/route").Route | undefined, key?: string | undefined, config?: import("axios").AxiosRequestConfig | undefined) => (param: ParamType, data: PayloadType) => Promise>; } export declare const createRequestMethods: (prefix: string, forestInstance: ForestInstance, config: ServiceConfig | undefined) => { get: (route?: import("../types/route").Route | undefined, config?: import("axios").AxiosRequestConfig | undefined) => () => Promise; getByParam: (route?: import("../types/route").Route | undefined, config?: import("axios").AxiosRequestConfig | undefined) => (param: ParamType) => Promise>; delete: (route?: import("../types/route").Route | undefined, config?: import("axios").AxiosRequestConfig | undefined) => () => Promise; deleteByParam: (route?: import("../types/route").Route | undefined, config?: import("axios").AxiosRequestConfig | undefined) => (param: ParamType) => Promise>; post: (route?: import("../types/route").Route | undefined, key?: string | undefined, config?: import("axios").AxiosRequestConfig | undefined) => (data: PayloadType) => Promise>; putByParam: (route?: import("../types/route").Route | undefined, key?: string | undefined, config?: import("axios").AxiosRequestConfig | undefined) => (param: ParamType_1, data: PayloadType_1) => Promise>; put: (route?: import("../types/route").Route | undefined, key?: string | undefined, config?: import("axios").AxiosRequestConfig | undefined) => (data: PayloadType) => Promise>; patchByParam: (route?: import("../types/route").Route | undefined, key?: string | undefined, config?: import("axios").AxiosRequestConfig | undefined) => (param: ParamType_1, data: PayloadType_1) => Promise>; patch: (route?: import("../types/route").Route | undefined, key?: string | undefined, config?: import("axios").AxiosRequestConfig | undefined) => (data: PayloadType) => Promise>; };