/**
 * @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;
    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>);
    /** @ignore */
    ngOnInit(): void;
    /** @ignore */
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FeatureGateDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FeatureGateDirective, "[aclFeatureGate]", never, { "featureName": "aclFeatureGate"; "cluster": "aclFeatureGateCluster"; "then": "aclFeatureGateThen"; "else": "aclFeatureGateElse"; }, {}, never, never, false>;
}
