import { DoCheck, IterableDiffers, OnDestroy } from '@angular/core';
import { PermissionsService } from '@armor/api';
import { FeatureFlagsService } from '../../services/feature-flags/feature-flags.service';
import { Subscription } from 'rxjs';
export declare class AccessControlComponent implements DoCheck, OnDestroy {
    private permissionService;
    private featureFlagService;
    private differs;
    constructor(permissionService: PermissionsService, featureFlagService: FeatureFlagsService, differs: IterableDiffers);
    require: string | string[];
    differ: any;
    hasAccess: boolean;
    permissionSubscription: Subscription;
    /**
     * if the permissions are changed, Check to see that the user has all the required
     * permissions, then update the children
     *
     * We are using an [Iterable Differ](https://angular.io/api/core/IterableDiffers)
     * here to check if the contents of the array have changed,
     * we do not get this with OnChange. Also DoCheck neagtes the need for the
     * other lifecycle hooks (at least in regards to change detection)
     */
    ngDoCheck(force?: boolean): void;
    ngOnDestroy(): void;
    checkAccess(request: string | string[]): boolean;
}
