import { HttpRequest, HttpResponse, HttpErrorResponse } from '@angular/common/http'; import { Store } from '@ngrx/store'; import { Observable } from 'rxjs'; import { NgrxRequest, NgrxRequestStatus } from './reducer'; export declare type Matcher = (req: HttpRequest) => boolean; export declare type Transformer = (res: HttpResponse | HttpErrorResponse) => any; export interface NgrxRequestMatcher { id: string; matcher: Matcher; transform?: Transformer; } export interface NgrxRequestData { id: string; request$: Observable; meta$: Observable; status$: Observable; isIdle$: Observable; isCanceled$: Observable; isError$: Observable; isSuccess$: Observable; isWorking$: Observable; dispose: () => void; } export declare class NgrxRequestService { private store; private matchers; constructor(store: Store); register(matcher: Matcher, transform?: Transformer): NgrxRequestData; interceptor(req: HttpRequest): NgrxRequestMatcher; }