import { AxiosInstance } from 'axios'; import { UserToken } from './types'; export default abstract class AbstractFetcher { static BASE_URL: string; static DEFAULT_TIMEOUT: number; private username?; private password?; fetcher: AxiosInstance; constructor({ apiKey, siteId, username, password, timeout, fetcher, }: { apiKey: string; siteId: string; username?: string; password?: string; timeout?: number; fetcher?: AxiosInstance; }); protected craftAccessTokenHeader(accessToken?: string): { headers: { authorization: string; }; } | undefined; getUserToken(): Promise>; }