/** * [WHO]: AuditLogger * [FROM]: Depends on node:fs, node:path, node:crypto, ../../../../config.js * [TO]: Consumed by extension entry point (./index.ts) * [HERE]: extensions/builtin/security-audit/engine/logger.ts - */ import type { AuditEvent, LogQueryOptions, SecurityStats } from "../interface.js"; import { AgentDirContext } from "../../../../core/agent-dir/agent-dir-context.js"; /** * Audit Logger class */ export declare class AuditLogger { private logs; private maxEntries; private ctx; /** * @param maxEntries Maximum number of entries to keep * @param ctx Agent directory context. */ constructor(maxEntries?: number, ctx?: AgentDirContext); /** * Get audit log file path */ private getLogPath; /** * Ensure log directory exists */ private ensureLogDir; /** * Load logs from disk */ load(): void; /** * Save logs to file */ private saveLogs; /** * Record an audit event */ log(event: Omit): AuditEvent; /** * Query logs with filters */ query(options?: LogQueryOptions): AuditEvent[]; /** * Get statistics */ getStats(options?: LogQueryOptions): SecurityStats; /** * Clear all logs */ clear(): void; /** * Export logs as JSON */ exportJson(): string; /** * Export logs as HTML */ exportHtml(): string; /** * Get total log count */ getCount(): number; }