import { CacheRequestConfig, setupCache } from 'axios-cache-interceptor'; import { ApiConfig } from './api-config'; import { ApiResponse, ApisauceInstance } from './apisauce'; interface ApisauceCacheInstance extends ApisauceInstance { axiosInstance: ReturnType; get: (url: string, params?: Record, axiosConfig?: CacheRequestConfig) => Promise>; delete: (url: string, params?: Record, axiosConfig?: CacheRequestConfig) => Promise>; head: (url: string, params?: Record, axiosConfig?: CacheRequestConfig) => Promise>; post: (url: string, data?: any, axiosConfig?: CacheRequestConfig) => Promise>; put: (url: string, data?: any, axiosConfig?: CacheRequestConfig) => Promise>; patch: (url: string, data?: any, axiosConfig?: CacheRequestConfig) => Promise>; link: (url: string, params?: Record, axiosConfig?: CacheRequestConfig) => Promise>; unlink: (url: string, params?: Record, axiosConfig?: CacheRequestConfig) => Promise>; } /** * Manages all requests to the API. */ export declare class Api { /** * The underlying apisauce instance which performs the requests. */ apisauce: ApisauceCacheInstance; /** * Configurable options. */ config: ApiConfig; /** * Creates the api. * * @param config The configuration to use. */ constructor(config?: ApiConfig); changeUid(uid: string): void; } export {};