import { Store } from '@ngrx/store'; import { CanActivate, CanActivateChild, ActivatedRouteSnapshot } from '@angular/router'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/operator/take'; import 'rxjs/add/operator/do'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/switchMap'; import 'rxjs/add/operator/catch'; import { schema } from 'normalizr'; export declare abstract class EntityExistsGuard implements CanActivate, CanActivateChild { idProperty: string; abstract store: Store; abstract entitySchema: schema.Entity; abstract onNotFound(err: any): Observable; abstract getForId(id: string): Observable; hasEntityInStore(id: string): Observable; hasEntityInApi(id: string): Observable; hasEntity(id: string): Observable; canActivate(route: ActivatedRouteSnapshot): Observable; canActivateChild(route: ActivatedRouteSnapshot): Observable; }