void NativeDeltaClient::registerNatives() {
  registerHybrid({
    makeNativeMethod("initHybrid", NativeDeltaClient::initHybrid),
    makeNativeMethod("processDelta", NativeDeltaClient::jniProcessDelta),
    makeNativeMethod("reset", NativeDeltaClient::jniReset),
  });
}
void ReadableNativeMapKeySetIterator::registerNatives() {
  registerHybrid({
      makeNativeMethod("hasNextKey", ReadableNativeMapKeySetIterator::hasNextKey),
      makeNativeMethod("nextKey", ReadableNativeMapKeySetIterator::nextKey),
      makeNativeMethod("initHybrid", ReadableNativeMapKeySetIterator::initHybrid),
    });
}
void ReadableNativeMap::registerNatives() {
  registerHybrid({
      makeNativeMethod("hasKey", ReadableNativeMap::hasKey),
      makeNativeMethod("isNull", ReadableNativeMap::isNull),
      makeNativeMethod("getBoolean", ReadableNativeMap::getBooleanKey),
      makeNativeMethod("getDouble", ReadableNativeMap::getDoubleKey),
      makeNativeMethod("getInt", ReadableNativeMap::getIntKey),
      makeNativeMethod("getString", ReadableNativeMap::getStringKey),
      makeNativeMethod("getArray", ReadableNativeMap::getArrayKey),
      makeNativeMethod("getMap", ReadableNativeMap::getMapKey),
      makeNativeMethod("getType", ReadableNativeMap::getValueType),
  });
}
void CatalystInstanceImpl::registerNatives() {
  registerHybrid({
    makeNativeMethod("initHybrid", CatalystInstanceImpl::initHybrid),
      makeNativeMethod("initializeBridge", CatalystInstanceImpl::initializeBridge),
      makeNativeMethod("loadScriptFromAssets",
                       "(Landroid/content/res/AssetManager;Ljava/lang/String;)V",
                       CatalystInstanceImpl::loadScriptFromAssets),
      makeNativeMethod("loadScriptFromFile", CatalystInstanceImpl::loadScriptFromFile),
      makeNativeMethod("callJSFunction", CatalystInstanceImpl::callJSFunction),
      makeNativeMethod("callJSCallback", CatalystInstanceImpl::callJSCallback),
      makeNativeMethod("getMainExecutorToken", CatalystInstanceImpl::getMainExecutorToken),
      makeNativeMethod("setGlobalVariable", CatalystInstanceImpl::setGlobalVariable),
      makeNativeMethod("supportsProfiling", CatalystInstanceImpl::supportsProfiling),
      makeNativeMethod("startProfiler", CatalystInstanceImpl::startProfiler),
      makeNativeMethod("stopProfiler", CatalystInstanceImpl::stopProfiler),
  });

  JNativeRunnable::registerNatives();
}
void NativeArray::registerNatives() {
  registerHybrid({
    makeNativeMethod("toString", NativeArray::toString),
  });
}
void EventBeatManager::registerNatives() {
  registerHybrid({
      makeNativeMethod("initHybrid", EventBeatManager::initHybrid),
      makeNativeMethod("beat", EventBeatManager::beat),
  });
}