import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild, Router } from "@angular/router"; import { Observable } from "rxjs"; import { W3AclService } from "../acl.service"; import { W3NotificationService } from "../../../notification/notifications.service"; import { W3AuthAbstractService } from "../../auth-abstract.service"; /** * Guarda de rotas para ACL. * Verifica as permissões do usuário logado para liberar ou não acesso à rota * * Para usar deve-se passar o array de permissões nos dados das rotas * * @example * export const routes: Routes = [ * {path: 'foo', component: BarComponent, data: {perms: ['data.access']} } * ] * * * */ export declare class W3AclCanGuard implements CanActivate, CanActivateChild { private _acl; private _notification; private router; private authService; constructor(_acl: W3AclService, _notification: W3NotificationService, router: Router, authService: W3AuthAbstractService); /** * * @param next * @param state */ canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean; /** * CanActivateChild handler */ canActivateChild(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean; }