/** * AuditService — Event sourcing for governance audit trail. * * Subscribes to all domain events via IEventBus('*'), persists them via IAuditStore, * maintains an in-memory ring buffer for fast session queries. */ import type { IEventBus } from '../../shared/events/index.js'; import type { ILogger } from '../../shared/logger.js'; import type { IAuditStore, PersistedAuditEvent, AuditQuery, AuditQueryResult, AuditSummary, AuditSummaryOptions } from './audit-store.js'; /** Service interface for querying the audit trail */ export interface IAuditService { queryEvents(query: AuditQuery): Promise; getSummary(options?: AuditSummaryOptions): Promise; getRecentEvents(limit?: number): Promise; getEventCount(): Promise; } export declare class AuditService implements IAuditService { private readonly store; private readonly logger; private readonly ringBuffer; private readonly ringBufferSize; private readonly unsubscribe; private nextBufferId; constructor(store: IAuditStore, eventBus: IEventBus, logger: ILogger, ringBufferSize?: number); queryEvents(query: AuditQuery): Promise; getSummary(options?: AuditSummaryOptions): Promise; getRecentEvents(limit?: number): Promise; getEventCount(): Promise; /** Cleanup: unsubscribe from event bus */ dispose(): void; private handleEvent; private serializeEvent; } //# sourceMappingURL=audit-service.d.ts.map