import { AxiosRequestConfig, AxiosError, AxiosResponse } from 'axios'; type ParamValue = T extends (`id` | `${string}Id`) ? number : string type PartialRightUrl = T extends `:${infer Center}/${infer Right}` ? Center | PartialRightUrl : (T extends `:${infer Right}` ? Right : never) type PartialLeftUrl = T extends `${infer Left}/${infer Right}` ? Left | PartialRightUrl : T type ParamNames = Url extends (`${infer PartLeft}/:${infer PartRight}` | `[${string}]${infer PartLeft}/:${infer PartRight}`) ? PartialLeftUrl : never type StrictParamObject = { [key in ParamNames]: ParamValue } type ParamObject = { [key: string]: any } | StrictParamObject type ApiHandler = (data?: ParamObject, requestConfig?: ReqCfg) => Promise type Transform = { [Key in keyof Urls]: ApiHandler } type handleError = (value?: AxiosError) => any; type handleResponse = (value?: AxiosResponse) => any; type Domain = Object | String | Function interface Options { handleError?: handleError handleResponse?: handleResponse requestMethods?: Object domain?: Domain, axiosConfig?: AxiosRequestConfig } declare class ApiPlus { options: Options; constructor(options?: Options); transform(requestUrlMap: T): Transform; } export { ApiPlus as default }; //# sourceMappingURL=index.d.ts.map