import { ActivatedRouteSnapshot, CanActivate, CanDeactivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router';
import { Actions, Store } from '@ngxs/store';
import { OAuthService } from 'angular-oauth2-oidc';
import { ToastrService } from 'ngx-toastr';
import { Observable } from 'rxjs';
import { EnvService } from '../../shared';
import { DataDetailGuard } from './features/homepage/resource-page/data-detail/data-detail.guard';
import { ResourcePageGuard } from './features/homepage/resource-page/resource-page.guard';
import * as i0 from "@angular/core";
export declare const GUARDS: {
    LoginGuard: string;
    HomepageGuard: string;
    ResourcePageGuard: string;
    DataDetailGuard: string;
};
export declare class AppGuard implements CanActivate, CanDeactivate<unknown> {
    private _store$;
    private _actions$;
    private _toastrService;
    private _router;
    private _oauthService;
    private _env;
    private _resourcePageGuard;
    private _dataDetailGuard;
    constructor(_store$: Store, _actions$: Actions, _toastrService: ToastrService, _router: Router, _oauthService: OAuthService, _env: EnvService, _resourcePageGuard: ResourcePageGuard, _dataDetailGuard: DataDetailGuard);
    private _route;
    private _state;
    private _nextState;
    private _component;
    canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree>;
    canDeactivate(component: unknown, route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot): Observable<boolean | UrlTree>;
    private executeGuards;
    private activateGuard;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppGuard, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AppGuard>;
}
