import { EventEmitter, OnInit, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';
import { SubscriptionsService } from '../../services';
import { SubscriptionWithRelations, EntitlementValue } from '../../models';
import * as i0 from "@angular/core";
/**
* Displays current subscription information with optional entitlements and usage
*
* @example
* ```html
*
*
* ```
*/
export declare class SubscriptionStatusComponent implements OnInit, OnDestroy, OnChanges {
private subscriptionsService;
/**
* Customer ID to fetch subscription for
*/
customerId: string;
/**
* Whether to show entitlements list
*/
showEntitlements: boolean;
/**
* Whether to show usage meters
*/
showUsageMeters: boolean;
/**
* Whether to show upgrade button
*/
showUpgradeButton: boolean;
/**
* Emitted when upgrade button is clicked
*/
upgradeClicked: EventEmitter;
subscription: SubscriptionWithRelations | null;
entitlements: EntitlementValue[];
usageData: any;
loading: boolean;
error: string | null;
private destroy$;
constructor(subscriptionsService: SubscriptionsService);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
private loadSubscriptionData;
private loadAdditionalData;
/**
* Get status badge class
*/
getStatusClass(): string;
/**
* Get formatted status text
*/
getStatusText(): string;
/**
* Format date for display
*/
formatDate(dateString: string | null): string;
/**
* Get days remaining in trial
*/
getTrialDaysRemaining(): number | null;
/**
* Check if subscription is in trial
*/
isInTrial(): boolean;
/**
* Check if subscription is active or in trial
*/
isActiveOrTrial(): boolean;
/**
* Handle upgrade button click
*/
onUpgrade(): void;
/**
* Format entitlement value for display
*/
formatEntitlementValue(entitlement: EntitlementValue): string;
/**
* Track by function for entitlements
*/
trackByCode(index: number, entitlement: EntitlementValue): string;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}