diff --git a/new-docs/puppeteer.jshandle._client.md b/new-docs/puppeteer.jshandle._client.md
deleted file mode 100644
index c3f8e5e9..00000000
--- a/new-docs/puppeteer.jshandle._client.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [puppeteer](./puppeteer.md) > [JSHandle](./puppeteer.jshandle.md) > [\_client](./puppeteer.jshandle._client.md)
-
-## JSHandle.\_client property
-
-Signature:
-
-```typescript
-_client: CDPSession;
-```
diff --git a/new-docs/puppeteer.jshandle._constructor_.md b/new-docs/puppeteer.jshandle._constructor_.md
deleted file mode 100644
index 5d8e00d0..00000000
--- a/new-docs/puppeteer.jshandle._constructor_.md
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-[Home](./index.md) > [puppeteer](./puppeteer.md) > [JSHandle](./puppeteer.jshandle.md) > [(constructor)](./puppeteer.jshandle._constructor_.md)
-
-## JSHandle.(constructor)
-
-Constructs a new instance of the `JSHandle` class
-
-Signature:
-
-```typescript
-constructor(context: ExecutionContext, client: CDPSession, remoteObject: Protocol.Runtime.RemoteObject);
-```
-
-## Parameters
-
-| Parameter | Type | Description |
-| --- | --- | --- |
-| context | [ExecutionContext](./puppeteer.executioncontext.md) | |
-| client | [CDPSession](./puppeteer.cdpsession.md) | |
-| remoteObject | Protocol.Runtime.RemoteObject | |
-
diff --git a/new-docs/puppeteer.jshandle._context.md b/new-docs/puppeteer.jshandle._context.md
deleted file mode 100644
index 1fa562f8..00000000
--- a/new-docs/puppeteer.jshandle._context.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [puppeteer](./puppeteer.md) > [JSHandle](./puppeteer.jshandle.md) > [\_context](./puppeteer.jshandle._context.md)
-
-## JSHandle.\_context property
-
-Signature:
-
-```typescript
-_context: ExecutionContext;
-```
diff --git a/new-docs/puppeteer.jshandle._disposed.md b/new-docs/puppeteer.jshandle._disposed.md
deleted file mode 100644
index 45c1a5d1..00000000
--- a/new-docs/puppeteer.jshandle._disposed.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [puppeteer](./puppeteer.md) > [JSHandle](./puppeteer.jshandle.md) > [\_disposed](./puppeteer.jshandle._disposed.md)
-
-## JSHandle.\_disposed property
-
-Signature:
-
-```typescript
-_disposed: boolean;
-```
diff --git a/new-docs/puppeteer.jshandle._remoteobject.md b/new-docs/puppeteer.jshandle._remoteobject.md
deleted file mode 100644
index 1c861353..00000000
--- a/new-docs/puppeteer.jshandle._remoteobject.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [puppeteer](./puppeteer.md) > [JSHandle](./puppeteer.jshandle.md) > [\_remoteObject](./puppeteer.jshandle._remoteobject.md)
-
-## JSHandle.\_remoteObject property
-
-Signature:
-
-```typescript
-_remoteObject: Protocol.Runtime.RemoteObject;
-```
diff --git a/new-docs/puppeteer.jshandle.md b/new-docs/puppeteer.jshandle.md
index 97ad93dd..e1e2b790 100644
--- a/new-docs/puppeteer.jshandle.md
+++ b/new-docs/puppeteer.jshandle.md
@@ -12,6 +12,10 @@ Represents an in-page JavaScript object. JSHandles can be created with the [page
export declare class JSHandle
```
+## Remarks
+
+The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `JSHandle` class.
+
## Example
@@ -23,21 +27,6 @@ JSHandle prevents the referenced JavaScript object from being garbage-collected
JSHandle instances can be used as arguments for [Page.$eval()](./puppeteer.page._eval.md), [Page.evaluate()](./puppeteer.page.evaluate.md), and [Page.evaluateHandle()](./puppeteer.page.evaluatehandle.md).
-## Constructors
-
-| Constructor | Modifiers | Description |
-| --- | --- | --- |
-| [(constructor)(context, client, remoteObject)](./puppeteer.jshandle._constructor_.md) | | Constructs a new instance of the JSHandle
class |
-
-## Properties
-
-| Property | Modifiers | Type | Description |
-| --- | --- | --- | --- |
-| [\_client](./puppeteer.jshandle._client.md) | | [CDPSession](./puppeteer.cdpsession.md) | |
-| [\_context](./puppeteer.jshandle._context.md) | | [ExecutionContext](./puppeteer.executioncontext.md) | |
-| [\_disposed](./puppeteer.jshandle._disposed.md) | | boolean | |
-| [\_remoteObject](./puppeteer.jshandle._remoteobject.md) | | Protocol.Runtime.RemoteObject | |
-
## Methods
| Method | Modifiers | Description |
diff --git a/src/common/JSHandle.ts b/src/common/JSHandle.ts
index 7d37bf0a..2202d76a 100644
--- a/src/common/JSHandle.ts
+++ b/src/common/JSHandle.ts
@@ -100,11 +100,26 @@ export function createJSHandle(
* @public
*/
export class JSHandle {
+ /**
+ * @internal
+ */
_context: ExecutionContext;
+ /**
+ * @internal
+ */
_client: CDPSession;
+ /**
+ * @internal
+ */
_remoteObject: Protocol.Runtime.RemoteObject;
+ /**
+ * @internal
+ */
_disposed = false;
+ /**
+ * @internal
+ */
constructor(
context: ExecutionContext,
client: CDPSession,