import { ChangeDetectorRef, TemplateRef, ViewContainerRef } from '@angular/core';
import { Permission } from '../../common/generated-types';
import { PermissionsService } from '../../providers/permissions/permissions.service';
import { IfDirectiveBase } from './if-directive-base';
import * as i0 from "@angular/core";
/**
* @description
* Conditionally shows/hides templates based on the current active user having the specified permission.
* Based on the ngIf source. Also support "else" templates:
*
* @example
* ```html
*
* Not allowed!
* ```
*
* The permission can be a single string, or an array. If an array is passed, then _all_ of the permissions
* must match (logical AND)
*
* @docsCategory directives
*/
export declare class IfPermissionsDirective extends IfDirectiveBase> {
private changeDetectorRef;
private permissionsService;
private permissionToCheck;
constructor(_viewContainer: ViewContainerRef, templateRef: TemplateRef, changeDetectorRef: ChangeDetectorRef, permissionsService: PermissionsService);
/**
* The permission to check to determine whether to show the template.
*/
set vdrIfPermissions(permission: string | string[] | null);
/**
* A template to show if the current user does not have the specified permission.
*/
set vdrIfPermissionsElse(templateRef: TemplateRef | null);
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}