import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';
import { VixAuthService } from './auth.service';
import { AuthConfigService } from './auth-config.service';
/**
 * Auth guard will check user groups and app required groups and
 * judge user can view the route or not
 */
export declare class VixAuthGuard implements CanActivate {
    private auth;
    private authConfig;
    private router;
    /**
     * @param auth
     * @param authConfig
     * @param router
     */
    constructor(auth: VixAuthService, authConfig: AuthConfigService, router: Router);
    /**
     * compare user groups and app required groups by UserGroups.hasPermission()
     * canActive will cache the user groups information by 1 hour.
     *
     * @param route
     * @param state
     * @returns
     */
    canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean>;
}
