import { OnInit } from '@angular/core'; import { BaseAngularComponent } from '@memberjunction/ng-base-types'; import * as i0 from "@angular/core"; /** * Usage-stats side panel for a single list (mockup 25). Surfaces four * cheap-to-compute counters + a recent-activity feed pulled from the * generic `MJ: Audit Logs` table (same one Phase 2's sharing emits to). * * Stats: * - Member count — `count(MJ: List Details)` for this list * - Active shares — non-revoked `MJ: Resource Permissions` * - Growth this month — `count(MJ: List Details where __mj_CreatedAt >= start-of-month)` * - Time since last activity — newest audit-log timestamp * * Recent activity = the 5 most-recent audit events (uses the same join * pattern as `mj-list-audit-log` — type + user lookup in a single batch). */ interface RecentActivity { ID: string; EventType: string; Description: string; Who: string; When: Date; } export declare class ListStatsComponent extends BaseAngularComponent implements OnInit { private readonly cdr; set ListID(value: string | null); get ListID(): string | null; private _listId; /** * Bump this number from the parent after any mutation (add / remove / * status update / share / unshare) to force the stats panel to re-query. * Without this, the Members count drifts from reality until full reload. */ set RefreshTrigger(value: number); get RefreshTrigger(): number; private _refreshTrigger; memberCount: number; activeShareCount: number; growthThisMonth: number; lastActivityAt: Date | null; recent: RecentActivity[]; loading: boolean; private initialized; ngOnInit(): Promise; formatRelative(d: Date | null): string; private load; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {}; //# sourceMappingURL=list-stats.component.d.ts.map