import { OnDestroy } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs';
import { StringMap, SilentlyNavigateService } from '../core';
import { K8sPermissionService } from './k8s-permission.service';
import * as i0 from "@angular/core";
/**
 * @see https://confluence.alauda.cn/pages/viewpage.action?pageId=115520649
 */
export declare class PermissionGuardService implements CanActivate, CanActivateChild, OnDestroy {
    private readonly k8sPermission;
    private readonly silentlyNavigate;
    private readonly destroy$$;
    private readonly cache;
    constructor(k8sPermission: K8sPermissionService, silentlyNavigate: SilentlyNavigateService);
    canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): true | Observable<boolean>;
    canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): true | Observable<boolean>;
    ngOnDestroy(): void;
    getParams(route: ActivatedRouteSnapshot, childFirst?: boolean): StringMap;
    static ɵfac: i0.ɵɵFactoryDeclaration<PermissionGuardService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<PermissionGuardService>;
}
