// Stub file to prevent Folly coroutine include errors
// This header is required by RCT-Folly but the actual implementation is not needed
#ifndef FOLLY_CORO_COROUTINE_H_
#define FOLLY_CORO_COROUTINE_H_

#ifdef __cplusplus

namespace folly {
namespace coro {

// Stub types to satisfy Expected.h coroutine code paths
struct suspend_never {
  bool await_ready() const noexcept { return true; }
  void await_suspend(void*) const noexcept {}
  void await_resume() const noexcept {}
};

template<typename T = void>
struct coroutine_handle {
  T& promise() const { static T t; return t; }
};

inline bool detect_promise_return_object_eager_conversion() {
  return false; // Always use deferred conversion
}

} // namespace coro
} // namespace folly

#endif // __cplusplus

#endif // FOLLY_CORO_COROUTINE_H_
