import { RoleGuardService } from "../role/role-guard.service";
import { AuthorityGuardService } from "../authority/authority-guard.service";
import { GroupGuardService } from "../group/group-guard.service";
import { ConfigurationService } from "../../configuration/configuration.service";
import { View } from "../../../commons/schema";
import { UserService } from '../../user/services/user.service';
import * as i0 from "@angular/core";
export declare class AccessService {
    private _config;
    private _userService;
    private _roleGuard;
    private _authorityGuard;
    private _groupGuard;
    constructor(_config: ConfigurationService, _userService: UserService, _roleGuard: RoleGuardService, _authorityGuard: AuthorityGuardService, _groupGuard: GroupGuardService);
    /**
     * @param view the view whose access permissions we want to check
     * @param url URL to which the view maps. Is used only for error message generation
     * @returns whether the user can access the provided view
     */
    canAccessView(view: View, url?: string): boolean;
    /**
     * @param view the view whose access permissions we want to check
     * @param url URL to which the view maps. Is used only for error message generation
     * @returns whether the user passes the role guard condition for accessing the specified view
     */
    passesRoleGuard(view: View, url: string): boolean;
    /**
     * @param view the view whose access permissions we want to check
     * @returns whether the user passes the authority guard condition for accessing the specified view
     */
    passesAuthorityGuard(view: View): boolean;
    /**
     * @param view the view whose access permissions we want to check
     * @param url URL to which the view maps. Is used only for error message generation
     * @returns whether the user passes the role guard condition for accessing the specified view
     */
    passesGroupGuard(view: View, url: string): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<AccessService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AccessService>;
}
