export interface SystemAuditParams {
	action: string;
	module: string;
	actor_name: string;
	actor_id: string;
	severity?: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
	metadata?: Record<string, any>;
	idempotencyKey?: string; // For migration dual-write
}

export interface EntityChangeParams {
	entity_type: string;
	entity_id: string;
	change_type: string;
	actor_name: string;
	actor_id: string;
	actor_email: string;
	changes?: Record<string, any>;
	idempotencyKey?: string; // For migration dual-write
}

export interface AuditStrategy {
	logSystemAudit(params: SystemAuditParams): Promise<void>;
	logEntityChange(params: EntityChangeParams): Promise<void>;
}
