After updating to Drush 10.x, operations such as sql-sync can fail with output such as:
Output is empty.
This is related to a common issue where the remote version of Drush is incompatible with the local version of Drush. In this case, you must be running Drush 9.6+ on the remote if you are going to run Drush 10.x locally. This issue was originally identified in the BLT issue queue by a site that was pinned to Drush 9.5.2. The project attempted to jump directly from 9.5.2 to 10.1.0 and it lost the ability to sql-sync.
The solution here is to do an interim deployment to your remote, upgrading higher into the 9.x tree (at the time of this writing, this is something like 9.7.x). This update must be deployed to the remote environment you wish to sync from (so it doesn't have to go all the way to production). Then, the update to 10.x can be completed.
Note that this interim step is only required if you want to perform operations like sql-sync that require drush on the remote server.