/**
 * @packageDocumentation
 * @module utils
 */
import { ChangeDetectorRef, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
import { FeatureGateService } from '../services/feature-gate.service';
import * as i0 from "@angular/core";
/**
 * @example
 * ```
 * <ng-container *aclFeatureGate="gate-name"></ng-container>
 * ```
 */
export declare class FeatureGateDirective implements OnInit, OnDestroy {
    private readonly container;
    private readonly featureGate;
    private readonly crd;
    featureName: string;
    cluster: string;
    negate: boolean;
    set then(templateRef: TemplateRef<void>);
    set else(templateRef: TemplateRef<void>);
    private thenTemplateRef;
    private elseTemplateRef;
    private subscription;
    constructor(container: ViewContainerRef, featureGate: FeatureGateService, crd: ChangeDetectorRef, templateRef: TemplateRef<void>);
    ngOnInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FeatureGateDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FeatureGateDirective, "[aclFeatureGate]", never, { "featureName": { "alias": "aclFeatureGate"; "required": false; }; "cluster": { "alias": "aclFeatureGateCluster"; "required": false; }; "negate": { "alias": "aclFeatureGateNegate"; "required": false; }; "then": { "alias": "aclFeatureGateThen"; "required": false; }; "else": { "alias": "aclFeatureGateElse"; "required": false; }; }, {}, never, never, true, never>;
}
