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 NUMERIC entitlement quotas * * This directive shows or hides content based on whether the current usage is * within the customer's quota limit. It's useful for enforcing usage limits * on actions like creating projects, uploading files, etc. * * @example * ```html * * * * * * *
*

Project limit reached ({{ projectCount }}/{{ limit }})

* *
*
* * * * ``` */ export declare class QuotaGuardDirective implements OnInit, OnDestroy { private templateRef; private viewContainer; private entitlementsService; private subtrakService; private destroy$; private hasView; /** * The quota entitlement code to check */ subQuotaGuard: string; /** * Current usage value to compare against the limit */ subQuotaGuardCurrent: number; /** * Optional else template to show when quota is exceeded */ subQuotaGuardElse?: TemplateRef; /** * Optional customer ID (defaults to SDK configured customer ID) */ subQuotaGuardCustomerId?: 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; }