import { AuditActionEnum } from '../value-objects/AuditAction.js'; /** * AuditLog entity data */ export interface AuditLogData { id?: string; action: AuditActionEnum; actor: string; targetType: string; targetName: string; details: Record | null; status: 'success' | 'failure'; errorMessage?: string | null; timestamp?: Date; } /** * Database row structure for audit_logs table */ export interface AuditLogRow { id: string; action: AuditActionEnum; actor: string; target_type: string; target_name: string; details: string | null; status: 'success' | 'failure'; error_message: string | null; timestamp: string; } /** * AuditLog entity * Represents an audit log entry in the system */ export declare class AuditLog { private readonly _id; private readonly _action; private readonly _actor; private readonly _targetType; private readonly _targetName; private readonly _details; private readonly _status; private readonly _errorMessage; private readonly _timestamp; private constructor(); get id(): string; get action(): AuditActionEnum; get actor(): string; get targetType(): string; get targetName(): string; get details(): Record | null; get status(): 'success' | 'failure'; get errorMessage(): string | null | undefined; get timestamp(): Date; /** * Create a new AuditLog entity */ static create(data: AuditLogData): AuditLog; /** * Create an AuditLog from raw data (e.g., from database) */ static fromRaw(row: AuditLogRow): AuditLog; /** * Convert to plain object for serialization */ toJSON(): { id: string; action: AuditActionEnum; actor: string; targetType: string; targetName: string; details: Record | null; status: 'success' | 'failure'; errorMessage: string | null | undefined; timestamp: string; }; } //# sourceMappingURL=AuditLog.d.ts.map