import { Injector, TemplateRef, ViewContainerRef } from '@angular/core';
import { SecurityService } from '@wm/security';
import * as i0 from "@angular/core";
export declare class AccessrolesDirective {
    private templateRef;
    private viewContainerRef;
    private securityService;
    private inj;
    private processed;
    private readonly isUserAuthenticated;
    private readonly userRoles;
    private readonly context;
    private securityEnabled;
    constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef, securityService: SecurityService, inj: Injector, explicitContext: any);
    /**
     * Returns array of roles from comma separated string of roles
     * Handles encoded commas
     * @param val
     * @returns {any}
     */
    private getWidgetRolesArrayFromStr;
    /**
     * Returns true if roles in first arrays is
     * @param widgetRoles
     * @param userRoles
     * @returns {any}
     */
    private matchRoles;
    /**
     * Decides whether the current logged in user has access to widget or not
     * @param widgetRoles
     * @param userRoles
     * @returns {any}
     */
    private hasAccessToWidget;
    set accessroles(roles: any);
    static ɵfac: i0.ɵɵFactoryDeclaration<AccessrolesDirective, [null, null, null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AccessrolesDirective, "[accessroles]", never, { "accessroles": { "alias": "accessroles"; "required": false; }; }, {}, never, never, false, never>;
}
