import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core'; import { StrategyFunction } from '../service/configuration.service'; import * as i0 from "@angular/core"; export declare class NgxPermissionsDirective implements OnInit, OnDestroy, OnChanges { ngxPermissionsOnly: string | string[]; ngxPermissionsOnlyThen: TemplateRef; ngxPermissionsOnlyElse: TemplateRef; ngxPermissionsExcept: string | string[]; ngxPermissionsExceptElse: TemplateRef; ngxPermissionsExceptThen: TemplateRef; ngxPermissionsThen: TemplateRef; ngxPermissionsElse: TemplateRef; ngxPermissionsOnlyAuthorisedStrategy: string | StrategyFunction; ngxPermissionsOnlyUnauthorisedStrategy: string | StrategyFunction; ngxPermissionsExceptUnauthorisedStrategy: string | StrategyFunction; ngxPermissionsExceptAuthorisedStrategy: string | StrategyFunction; ngxPermissionsUnauthorisedStrategy: string | StrategyFunction; ngxPermissionsAuthorisedStrategy: string | StrategyFunction; permissionsAuthorized: EventEmitter; permissionsUnauthorized: EventEmitter; private initPermissionSubscription; private firstMergeUnusedRun; private currentAuthorizedState; private readonly permissionsService; private readonly configurationService; private readonly rolesService; private readonly viewContainer; private readonly changeDetector; private readonly templateRef; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; private validateExceptOnlyPermissions; private validateExceptAndOnlyPermissions; private validateOnlyPermissions; private handleUnauthorisedPermission; private handleAuthorisedPermission; private applyStrategyAccordingToStrategyType; private showTemplateBlockInView; private getAuthorisedTemplates; private elseBlockDefined; private thenBlockDefined; private getAuthorizedStrategyInput; private getUnAuthorizedStrategyInput; private applyStrategy; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }