import { OnInit, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
import { EntitlementsService } from '../services/entitlements.service';
import { SubtrakService } from '../services/subtrak.service';
import * as i0 from "@angular/core";
/**
* Structural directive for gating content based on BOOLEAN entitlements
*
* This directive shows or hides content based on whether the customer has access
* to a specific feature. It automatically handles subscription to entitlement changes.
*
* @example
* ```html
*
*
* Premium Analytics Dashboard
*
*
*
*
*
*
*
*
*
*
*
*
* Content
*
* ```
*/
export declare class FeatureGateDirective implements OnInit, OnDestroy {
private templateRef;
private viewContainer;
private entitlementsService;
private subtrakService;
private destroy$;
private hasView;
/**
* The feature code to check access for
*/
subFeatureGate: string;
/**
* Optional else template to show when access is denied
*/
subFeatureGateElse?: TemplateRef;
/**
* Optional customer ID (defaults to SDK configured customer ID)
*/
subFeatureGateCustomerId?: string;
constructor(templateRef: TemplateRef, viewContainer: ViewContainerRef, entitlementsService: EntitlementsService, subtrakService: SubtrakService);
ngOnInit(): void;
ngOnDestroy(): void;
private updateView;
private showElseTemplate;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}