import { AxiosInstance, AxiosResponse } from "axios"; export type RatelimitInfos = { punished: boolean; hits: number; maxHits: number; remainingHits: number; resetIn: number; resetAt: Date; }; type ResponseOK = [Data, null, RatelimitInfos]; type ResponseError = [null, string[], RatelimitInfos]; export type Response = Promise | ResponseError>; export default function wrapApi(client: Required, axios: (client: AxiosInstance, ...args: Params) => Promise>, callback: (data: AxiosResponse['data']) => Data): (...args: Params) => Response; export {};