import type Cache from '../utils/Cache.js'; import { type FetchMethod } from '../utils/Fetcher.js'; import type Fetcher from '../utils/Fetcher.js'; import { type Logger } from '../utils/Logger.js'; export interface BaseAPIParams { fetcher: Fetcher; cache: Cache; logger: Logger; } export default abstract class BaseAPI { #private; constructor(params: BaseAPIParams); protected fetch(url: string, jsonResponse: false, method: FetchMethod.HEAD, payload?: undefined, requireCookie?: boolean): Promise<{ ok: boolean; status: number; }>; protected fetch(url: string, jsonResponse: true, method?: FetchMethod, payload?: Record, requireCookie?: boolean): Promise; protected fetch(url: string, jsonResponse?: boolean, method?: FetchMethod, payload?: Record, requireCookie?: boolean): Promise; protected get cache(): Cache; protected get logger(): Logger; } //# sourceMappingURL=BaseAPI.d.ts.map