import { AxiosRequestConfig } from "axios"; import { ForestService } from "../classes/service.class"; import { createMethodsFunctionsCreator } from "../classes/RequestFunctionsFactory"; import { OnErrorFunction } from "./onError.types"; import { OnSuccessFunction } from "./onSuccess.types"; import { Key } from "./payload.types"; import { Route } from "./route.types"; import { ServiceValidationConfig } from "./validation.types"; export declare type ServiceMethodsCreator = ReturnType; export declare type ServiceMethodCreator = keyof ServiceMethodsCreator; export declare type ServiceFunction = keyof Service; export declare const SERVICE_FUNCTIONS: Record; export declare type GlobalServiceConfig = Omit; export interface ServiceConfig { routes?: Partial>; requestConfig?: AxiosRequestConfig; requestConfigByMethod?: Partial>; validation?: ServiceValidationConfig; payloadKey?: Key; payloadKeyByMethod?: { post?: Key; patch?: Key; patchById?: Key; put?: Key; putById?: Key; }; onSuccess?: OnSuccessFunction; onSuccessByMethod?: Partial>; onError?: OnErrorFunction; onErrorByMethod?: Partial>; }