$policy * @param array $targetUser */ public function logDeactivate( string $runUuid, string $triggerType, array $policy, ?int $actorUserId, array $targetUser, string $status = 'success', ?string $reasonCode = null ): bool; /** * @param array $policy * @param array $targetUser */ public function logDeleteWithSnapshot( string $runUuid, string $triggerType, array $policy, ?int $actorUserId, array $targetUser ): int|false; /** * @param array $policy * @param array $targetUser */ public function logDeleteFailure( string $runUuid, string $triggerType, array $policy, ?int $actorUserId, array $targetUser, string $reasonCode ): bool; /** * @param array $policy * @param array $targetUser */ public function logRestore( string $runUuid, string $triggerType, array $policy, ?int $actorUserId, array $targetUser, string $status = 'success', ?string $reasonCode = null ): bool; public function markDeleteEventRestored(int $auditId, int $restoredByUserId, int $restoredUserId): bool; public function updateStatus(int $id, string $status, ?string $reasonCode = null): bool; public function findDeleteEventForRestore(int $id, bool $forUpdate = false): ?array; public function decryptSnapshot(array $event): ?array; }