import { Injector } from '@angular/core'; import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import { Observable } from 'rxjs/Observable'; import { LoginService, OUserInfoService } from '../services'; import { Config } from '../config/app-config'; export interface IProfileService { isRestricted(route: string): Promise; getPermissions(route: string, attr: string): Promise; } export declare class AuthGuardService implements CanActivate, IProfileService { private inj; static PROFILE_ROUTE_PROPERTY: string; static PROFILE_COMPONENTS_PROPERTY: string; protected injector: Injector; protected router: Router; protected loginService: LoginService; protected oUserInfoService: OUserInfoService; protected config: Config; protected ontimizeService: any; protected service: any; protected entity: any; protected keyColumn: any; protected valueColumn: any; protected user: any; protected profile: any; protected profileObservable: Observable; constructor(inj: Injector); configureService(): void; canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean; setUserInformation(): void; isRestricted(route: string): Promise; protected _isRestricted(route: string): boolean; getPermissions(route: string, attr: string): Promise; protected _getPermissions(route: string, attr: string): any; }