The output of an asynchronous operation.
When the operation completes, it may return an error.
Wait for the Future to complete using Kotlin Coroutines, and throw a VoiceException if the operation failed.
Wait for the Future to complete using Kotlin Coroutines. Will return errors rather than throwing an exception.
When this Future completes, run another async operation.
If this operation fails, log an error.
If the Future returns successfully, transform the result to another type.
If the Future returns an error, transform the error to another type.
Give a callback when the Future completes.
Give a callback if the Future returns an error.
Returns a new Future which times out after the specified duration.
Future