import { OnInit } from '@angular/core'; import { BaseAngularComponent } from '@memberjunction/ng-base-types'; import * as i0 from "@angular/core"; /** * Audit log view for a single List (mockup 18). Reads from the generic * `MJ: Audit Logs` entity, scoped to this list via `EntityID` (the MJ: * Lists entity row) + `RecordID` = the list ID. The event-type dropdown * is populated lazily from the audit-log-type rows actually present in * the data — keeps the UI honest about what events have happened * (instead of showing filter options that never match). */ interface AuditLogRow { ID: string; EventDate: Date; UserID: string; UserName: string; AuditLogTypeID: string; EventType: string; Description: string; Details: string | null; } export declare class ListAuditLogComponent extends BaseAngularComponent implements OnInit { private readonly cdr; /** ListID we're auditing. Required. */ get ListID(): string | null; set ListID(value: string | null); private _listId; /** Max rows to load. Defaults to a sensible 200 for the per-list view. */ PageSize: number; entries: AuditLogRow[]; eventTypes: Array<{ ID: string; Name: string; }>; filterType: string; filterText: string; loading: boolean; errorMessage: string | null; private initialized; ngOnInit(): Promise; get visibleEntries(): AuditLogRow[]; OnFilterChange(): void; formatDate(d: Date): string; formatDetails(raw: string | null): string; /** * Bulk-load audit-log entries + their type names + user names in three * RunViews via the batch helper so the UI only spins once. We then * compose the joined view in memory (1k rows × 3 lookups stays cheap). */ private loadEntries; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {}; //# sourceMappingURL=list-audit-log.component.d.ts.map