import { OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
import { ResourceData } from '@memberjunction/core-entities';
import { BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';
import * as i0 from "@angular/core";
interface CategoryStat {
    category: string;
    categoryId: string;
    count: number;
    iconClass: string;
    color: string;
    percentage: number;
}
interface TypeStat {
    typeId: string;
    typeName: string;
    category: string;
    credentialCount: number;
    activeCount: number;
    expiringCount: number;
}
interface ActivityItem {
    id: string;
    credentialName: string;
    credentialId: string;
    typeName: string;
    action: 'Created' | 'Updated' | 'Accessed' | 'Rotated';
    date: Date;
    user?: string;
}
interface UsageTrendPoint {
    timestamp: Date;
    accessCount: number;
    uniqueCredentials: number;
    successRate: number;
}
export declare class CredentialsOverviewResourceComponent extends BaseResourceComponent implements OnInit, OnDestroy {
    private cdr;
    private navigationService;
    isLoading: boolean;
    totalCredentials: number;
    activeCredentials: number;
    expiredCredentials: number;
    expiringSoonCount: number;
    credentialTypes: number;
    categories: number;
    categoryStats: CategoryStat[];
    typeStats: TypeStat[];
    recentActivity: ActivityItem[];
    usageTrend: UsageTrendPoint[];
    private credentials;
    private types;
    private categoryList;
    private auditLogs;
    private _metadata;
    private _permissionCache;
    private categoryColors;
    private destroy$;
    constructor(cdr: ChangeDetectorRef, navigationService: NavigationService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    GetResourceDisplayName(data: ResourceData): Promise<string>;
    GetResourceIconClass(data: ResourceData): Promise<string>;
    get UserCanCreateCredentials(): boolean;
    get UserCanUpdateCredentials(): boolean;
    private checkEntityPermission;
    private loadData;
    private processCredentialStats;
    private processTypeStats;
    private processCategoryStats;
    private processActivityAndTrends;
    private buildActivityFromCredentials;
    private extractCredentialName;
    private extractAction;
    private extractCredentialId;
    private getCategoryIcon;
    createNewCredential(): void;
    openCredential(credentialId: string): void;
    onCategoryClick(category: CategoryStat): void;
    onTypeClick(typeStat: TypeStat): void;
    onActivityClick(activity: ActivityItem): void;
    viewAllCredentials(): void;
    viewAuditLog(): void;
    viewAllTypes(): void;
    viewAllCategories(): void;
    viewExpiringCredentials(): void;
    formatDate(date: Date): string;
    getActionIcon(action: string): string;
    getActionClass(action: string): string;
    refresh(): void;
    getHealthScore(): number;
    getHealthClass(): string;
    getHealthLabel(): string;
    getDonutOffset(index: number): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<CredentialsOverviewResourceComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CredentialsOverviewResourceComponent, "mj-credentials-overview-resource", never, {}, {}, never, never, false, never>;
}
export {};
//# sourceMappingURL=credentials-overview-resource.component.d.ts.map