recoverWith<B extends A>(f: (e: Error) => Optional<Future<B>>): Future<A>;