import { Subject, Subscriber } from 'rxjs'; import { HttpErrorResponse, HttpEvent, HttpRequest, HttpResponse } from '@angular/common/http'; /** * Interface of "Sender" that do request and * works with attempts. */ export interface RequestSender { /** * Interface of sender. Assumes, you might * do repeated attempts of request. * * @param request * @param subscriber * @param statusChanges * @param lastError * @param remainAttemptsNumber */ requestAttempt(request: HttpRequest, subscriber: Subscriber>, statusChanges: Subject> | boolean, lastError?: HttpErrorResponse, remainAttemptsNumber?: number): void; }