public static extern OneByteBoolean JsValueIsObjectOfClass([NativeTypeName("JSContextRef")] JsContext *ctx, [NativeTypeName("JSValueRef")] JsValue *value, [NativeTypeName("JSClassRef")] JsClass *jsClass);
public static unsafe JsContext *Create(JsClass *globalObjectClass) => JavaScriptCore.GlobalContextCreate(globalObjectClass);
public static extern JsContext *GlobalContextCreate([NativeTypeName("JSClassRef")] JsClass *globalObjectClass);
public static extern JsContext *GlobalContextCreateInGroup([NativeTypeName("JSContextGroupRef")] JsContextGroup *group, [NativeTypeName("JSClassRef")] JsClass *globalObjectClass);
private static extern JsValue *JsObjectMakeConstructor([NativeTypeName("JSContextRef")] JsContext *ctx, [NativeTypeName("JSClassRef")] JsClass *jsClass, [NativeTypeName("JSObjectCallAsConstructorCallback")] IntPtr callAsConstructor);
public static JsValue *JsObjectMakeConstructor(JsContext *ctx, JsClass *jsClass, FnPtr <ObjectCallAsConstructorCallback> callAsConstructor) => JsObjectMakeConstructor(ctx, jsClass, (IntPtr)callAsConstructor);
public static extern JsValue *JsObjectMake([NativeTypeName("JSContextRef")] JsContext *ctx, [NativeTypeName("JSClassRef")] JsClass *jsClass, [NativeTypeName("void *")] void *data);
public static extern void JsClassRelease([NativeTypeName("JSClassRef")] JsClass *jsClass);
public static extern JsClass *JsClassRetain([NativeTypeName("JSClassRef")] JsClass *jsClass);
public static extern bool JsClassSetPrivate([NativeTypeName("JSClassRef")] JsClass *jsClass, [NativeTypeName("void*")] void *data);
public static extern void *JsClassGetPrivate([NativeTypeName("JSClassRef")] JsClass *jsClass);