import { HttpClientInterface } from '../datastores/interfaces'; export default abstract class AbstractClient implements HttpClientInterface { protected url: string; protected headers: Headers; abstract get(): Promise; abstract post(): Promise; abstract put(): Promise; abstract delete(): Promise; abstract head(): Promise; protected generateFullHeaders(headers?: { [key: string]: string; }): Headers; protected generateRequestBodyString(body: T | string): string; protected catchHTTPResponseError(res: Response): Promise; }