diff --git a/.fern/metadata.json b/.fern/metadata.json
index 42f3c27..6b5efd1 100644
--- a/.fern/metadata.json
+++ b/.fern/metadata.json
@@ -11,10 +11,10 @@
"homepage": "https://www.cloudpdf.com"
}
},
- "originGitCommit": "e5cd0731cb3a1f2ed5821f8d60191bd58934c3dd",
+ "originGitCommit": "31a712963c171ce9ebd6815e873c9895e389afc2",
"originGitCommitIsDirty": false,
"invokedBy": "ci",
- "requestedVersion": "3.0.0-alpha.9",
+ "requestedVersion": "3.0.0-alpha.10",
"ciProvider": "github",
- "sdkVersion": "3.0.0-alpha.9"
+ "sdkVersion": "3.0.0-alpha.10"
}
\ No newline at end of file
diff --git a/cloudpdf-generation.json b/cloudpdf-generation.json
index 0dc1555..b78002e 100644
--- a/cloudpdf-generation.json
+++ b/cloudpdf-generation.json
@@ -1,12 +1,12 @@
{
"language": "php",
- "canonicalVersion": "3.0.0-next.9",
- "sdkVersion": "3.0.0-alpha.9",
+ "canonicalVersion": "3.0.0-next.10",
+ "sdkVersion": "3.0.0-alpha.10",
"source": {
"repository": "embedpdf/embed-pdf-viewer",
"openapi": "cloudpdf/contract/openapi.json",
- "openapiSha256": "4ee27900dbb0b13408ce00a0e80d606444ab81e9d5a76186fa984c8c8dfe09fe",
- "gitCommit": "e5cd0731cb3a1f2ed5821f8d60191bd58934c3dd",
+ "openapiSha256": "9d6c7cdd459982ba9e718a3842c969003b466e3fd73883fef7783dc78e12cdfe",
+ "gitCommit": "31a712963c171ce9ebd6815e873c9895e389afc2",
"gitCommitIsDirty": false
},
"fern": {
diff --git a/reference.md b/reference.md
index efde1ee..97af96e 100644
--- a/reference.md
+++ b/reference.md
@@ -1963,6 +1963,80 @@ $client->tokens->revoke(
## Doc Annotations
+$client->doc->annotations->listAll($docId, $layerName, $request) -> ?DocAnnotationsListAll200Response
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns one entry per page plus the audit-log cursor for reconciling subsequent document events. Page order is unspecified; join by `pageState.pageObjectNumber` when display order matters.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```php
+$client->doc->annotations->listAll(
+ 'docId',
+ 'layerName',
+ new ListAllAnnotationsRequest([]),
+);
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**$docId:** `string`
+
+
+
+
+
+-
+
+**$layerName:** `string`
+
+
+
+
+
+-
+
+**$documentPassword:** `?string` — Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
+
+
+
+
+
+
+
+
+
+
+
$client->doc->annotations->list($docId, $layerName, $pon, $request) -> ?DocAnnotationsList200Response
-
diff --git a/src/CloudPDFClient.php b/src/CloudPDFClient.php
index e189959..d05f354 100644
--- a/src/CloudPDFClient.php
+++ b/src/CloudPDFClient.php
@@ -76,8 +76,8 @@ public function __construct(
$defaultHeaders = [
'X-Fern-Language' => 'PHP',
'X-Fern-SDK-Name' => 'CloudPDF',
- 'X-Fern-SDK-Version' => '3.0.0-alpha.9',
- 'User-Agent' => 'cloudpdf/sdk/3.0.0-alpha.9',
+ 'X-Fern-SDK-Version' => '3.0.0-alpha.10',
+ 'User-Agent' => 'cloudpdf/sdk/3.0.0-alpha.10',
];
if ($token != null) {
$defaultHeaders['Authorization'] = "Bearer $token";
diff --git a/src/Doc/Annotations/AnnotationsClient.php b/src/Doc/Annotations/AnnotationsClient.php
index eb54ef5..97964c2 100644
--- a/src/Doc/Annotations/AnnotationsClient.php
+++ b/src/Doc/Annotations/AnnotationsClient.php
@@ -4,14 +4,16 @@
use Psr\Http\Client\ClientInterface;
use CloudPDF\Core\Client\RawClient;
-use CloudPDF\Doc\Annotations\Requests\ListAnnotationsRequest;
-use CloudPDF\Types\DocAnnotationsList200Response;
+use CloudPDF\Doc\Annotations\Requests\ListAllAnnotationsRequest;
+use CloudPDF\Types\DocAnnotationsListAll200Response;
use CloudPDF\Exceptions\CloudPDFException;
use CloudPDF\Exceptions\CloudPDFApiException;
use CloudPDF\Core\Json\JsonApiRequest;
use CloudPDF\Core\Client\HttpMethod;
use JsonException;
use Psr\Http\Client\ClientExceptionInterface;
+use CloudPDF\Doc\Annotations\Requests\ListAnnotationsRequest;
+use CloudPDF\Types\DocAnnotationsList200Response;
use CloudPDF\Doc\Annotations\Requests\CreateAnnotationsRequest;
use CloudPDF\Types\DocAnnotationsCreate200Response;
use CloudPDF\Doc\Annotations\Requests\DeleteAnnotationsRequest;
@@ -55,6 +57,70 @@ public function __construct(
$this->options = $options ?? [];
}
+ /**
+ * Returns one entry per page plus the audit-log cursor for reconciling subsequent document events. Page order is unspecified; join by `pageState.pageObjectNumber` when display order matters.
+ *
+ * Example:
+ * ```php
+ * $client->doc->annotations->listAll(
+ * 'docId',
+ * 'layerName',
+ * new ListAllAnnotationsRequest([]),
+ * );
+ * ```
+ *
+ * @param string $docId
+ * @param string $layerName
+ * @param ListAllAnnotationsRequest $request
+ * @param ?array{
+ * baseUrl?: string,
+ * maxRetries?: int,
+ * timeout?: float,
+ * headers?: array,
+ * queryParameters?: array,
+ * bodyProperties?: array,
+ * } $options
+ * @return ?DocAnnotationsListAll200Response
+ * @throws CloudPDFException
+ * @throws CloudPDFApiException
+ */
+ public function listAll(string $docId, string $layerName, ListAllAnnotationsRequest $request = new ListAllAnnotationsRequest(), ?array $options = null): ?DocAnnotationsListAll200Response
+ {
+ $options = array_merge($this->options, $options ?? []);
+ $headers = [];
+ if ($request->documentPassword != null) {
+ $headers['X-Document-Password'] = $request->documentPassword;
+ }
+ try {
+ $response = $this->client->sendRequest(
+ new JsonApiRequest(
+ baseUrl: $options['baseUrl'] ?? $this->client->options['baseUrl'] ?? '',
+ path: "v1/docs/{$docId}/layers/{$layerName}/annotations/items",
+ method: HttpMethod::GET,
+ headers: $headers,
+ ),
+ $options,
+ );
+ $statusCode = $response->getStatusCode();
+ if ($statusCode >= 200 && $statusCode < 400) {
+ $json = $response->getBody()->getContents();
+ if (empty($json)) {
+ return null;
+ }
+ return DocAnnotationsListAll200Response::fromJson($json);
+ }
+ } catch (JsonException $e) {
+ throw new CloudPDFException(message: "Failed to deserialize response: {$e->getMessage()}", previous: $e);
+ } catch (ClientExceptionInterface $e) {
+ throw new CloudPDFException(message: $e->getMessage(), previous: $e);
+ }
+ throw new CloudPDFApiException(
+ message: 'API request failed',
+ statusCode: $statusCode,
+ body: $response->getBody()->getContents(),
+ );
+ }
+
/**
* Example:
* ```php
diff --git a/src/Doc/Annotations/Requests/ListAllAnnotationsRequest.php b/src/Doc/Annotations/Requests/ListAllAnnotationsRequest.php
new file mode 100644
index 0000000..79fe039
--- /dev/null
+++ b/src/Doc/Annotations/Requests/ListAllAnnotationsRequest.php
@@ -0,0 +1,24 @@
+documentPassword = $values['documentPassword'] ?? null;
+ }
+}
diff --git a/src/Types/DocAnnotationsCreate200ResponseMetaCacheDelta.php b/src/Types/DocAnnotationsCreate200ResponseMetaCacheDelta.php
index 320a41c..d40ee62 100644
--- a/src/Types/DocAnnotationsCreate200ResponseMetaCacheDelta.php
+++ b/src/Types/DocAnnotationsCreate200ResponseMetaCacheDelta.php
@@ -20,6 +20,12 @@ class DocAnnotationsCreate200ResponseMetaCacheDelta extends JsonSerializableType
#[JsonProperty('docVersion')]
public int $docVersion;
+ /**
+ * @var ?int $annotationsVersion
+ */
+ #[JsonProperty('annotationsVersion')]
+ public ?int $annotationsVersion;
+
/**
* @var array $pages
*/
@@ -31,6 +37,7 @@ class DocAnnotationsCreate200ResponseMetaCacheDelta extends JsonSerializableType
* previousDocVersion: int,
* docVersion: int,
* pages: array,
+ * annotationsVersion?: ?int,
* } $values
*/
public function __construct(
@@ -38,6 +45,7 @@ public function __construct(
) {
$this->previousDocVersion = $values['previousDocVersion'];
$this->docVersion = $values['docVersion'];
+ $this->annotationsVersion = $values['annotationsVersion'] ?? null;
$this->pages = $values['pages'];
}
diff --git a/src/Types/DocAnnotationsDelete200ResponseMetaCacheDelta.php b/src/Types/DocAnnotationsDelete200ResponseMetaCacheDelta.php
index 4ab88d4..1274044 100644
--- a/src/Types/DocAnnotationsDelete200ResponseMetaCacheDelta.php
+++ b/src/Types/DocAnnotationsDelete200ResponseMetaCacheDelta.php
@@ -20,6 +20,12 @@ class DocAnnotationsDelete200ResponseMetaCacheDelta extends JsonSerializableType
#[JsonProperty('docVersion')]
public int $docVersion;
+ /**
+ * @var ?int $annotationsVersion
+ */
+ #[JsonProperty('annotationsVersion')]
+ public ?int $annotationsVersion;
+
/**
* @var array $pages
*/
@@ -31,6 +37,7 @@ class DocAnnotationsDelete200ResponseMetaCacheDelta extends JsonSerializableType
* previousDocVersion: int,
* docVersion: int,
* pages: array,
+ * annotationsVersion?: ?int,
* } $values
*/
public function __construct(
@@ -38,6 +45,7 @@ public function __construct(
) {
$this->previousDocVersion = $values['previousDocVersion'];
$this->docVersion = $values['docVersion'];
+ $this->annotationsVersion = $values['annotationsVersion'] ?? null;
$this->pages = $values['pages'];
}
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemCaret.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemCaret.php
index 579c436..43776f1 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemCaret.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemCaret.php
@@ -57,6 +57,12 @@ class DocAnnotationsList200ResponseAnnotationsItemCaret extends JsonSerializable
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -172,6 +178,7 @@ class DocAnnotationsList200ResponseAnnotationsItemCaret extends JsonSerializable
* opacity: float,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -199,6 +206,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemCircle.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemCircle.php
index 00ada3d..177d1ba 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemCircle.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemCircle.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemCircle extends JsonSerializabl
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -199,6 +205,7 @@ class DocAnnotationsList200ResponseAnnotationsItemCircle extends JsonSerializabl
* borderStyle: value-of,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -228,6 +235,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemFileAttachment.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemFileAttachment.php
index 7e5a9d8..1baa472 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemFileAttachment.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemFileAttachment.php
@@ -57,6 +57,12 @@ class DocAnnotationsList200ResponseAnnotationsItemFileAttachment extends JsonSer
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -162,6 +168,7 @@ class DocAnnotationsList200ResponseAnnotationsItemFileAttachment extends JsonSer
* file: DocAnnotationsList200ResponseAnnotationsItemFileAttachmentFile,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -185,6 +192,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemFreeText.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemFreeText.php
index acd1e47..2c04c32 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemFreeText.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemFreeText.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemFreeText extends JsonSerializa
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -239,6 +245,7 @@ class DocAnnotationsList200ResponseAnnotationsItemFreeText extends JsonSerializa
* borderStyle: value-of,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -270,6 +277,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemHighlight.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemHighlight.php
index 46adb3a..62dea83 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemHighlight.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemHighlight.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemHighlight extends JsonSerializ
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -156,6 +162,7 @@ class DocAnnotationsList200ResponseAnnotationsItemHighlight extends JsonSerializ
* quadPoints: array,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -179,6 +186,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemInk.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemInk.php
index 93f1989..cef7dae 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemInk.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemInk.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemInk extends JsonSerializableTy
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -188,6 +194,7 @@ class DocAnnotationsList200ResponseAnnotationsItemInk extends JsonSerializableTy
* inkList: array>,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -214,6 +221,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemLine.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemLine.php
index ed3ffa2..48fbfdb 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemLine.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemLine.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemLine extends JsonSerializableT
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -195,6 +201,7 @@ class DocAnnotationsList200ResponseAnnotationsItemLine extends JsonSerializableT
* lineEndings: DocAnnotationsList200ResponseAnnotationsItemLineLineEndings,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -221,6 +228,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemLink.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemLink.php
index 04cd182..306da66 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemLink.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemLink.php
@@ -57,6 +57,12 @@ class DocAnnotationsList200ResponseAnnotationsItemLink extends JsonSerializableT
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -140,6 +146,7 @@ class DocAnnotationsList200ResponseAnnotationsItemLink extends JsonSerializableT
* blendMode: value-of,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -164,6 +171,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemPolygon.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemPolygon.php
index 525b9b3..e6c4a20 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemPolygon.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemPolygon.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemPolygon extends JsonSerializab
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -194,6 +200,7 @@ class DocAnnotationsList200ResponseAnnotationsItemPolygon extends JsonSerializab
* vertices: array,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -221,6 +228,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemPolyline.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemPolyline.php
index 1226db1..741c31a 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemPolyline.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemPolyline.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemPolyline extends JsonSerializa
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -195,6 +201,7 @@ class DocAnnotationsList200ResponseAnnotationsItemPolyline extends JsonSerializa
* lineEndings: DocAnnotationsList200ResponseAnnotationsItemPolylineLineEndings,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -221,6 +228,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemRedact.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemRedact.php
index dcae911..040b75d 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemRedact.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemRedact.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemRedact extends JsonSerializabl
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -203,6 +209,7 @@ class DocAnnotationsList200ResponseAnnotationsItemRedact extends JsonSerializabl
* textAlign: value-of,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -228,6 +235,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemSquare.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemSquare.php
index 7f5c806..e1f3c85 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemSquare.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemSquare.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemSquare extends JsonSerializabl
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -199,6 +205,7 @@ class DocAnnotationsList200ResponseAnnotationsItemSquare extends JsonSerializabl
* borderStyle: value-of,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -228,6 +235,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemSquiggly.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemSquiggly.php
index 9e6a67a..39f8024 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemSquiggly.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemSquiggly.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemSquiggly extends JsonSerializa
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -156,6 +162,7 @@ class DocAnnotationsList200ResponseAnnotationsItemSquiggly extends JsonSerializa
* quadPoints: array,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -179,6 +186,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemStamp.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemStamp.php
index 5bac426..7ddf280 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemStamp.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemStamp.php
@@ -57,6 +57,12 @@ class DocAnnotationsList200ResponseAnnotationsItemStamp extends JsonSerializable
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -152,6 +158,7 @@ class DocAnnotationsList200ResponseAnnotationsItemStamp extends JsonSerializable
* blendMode: value-of,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -178,6 +185,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemStrikeout.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemStrikeout.php
index 9917fa9..cf127f3 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemStrikeout.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemStrikeout.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemStrikeout extends JsonSerializ
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -162,6 +168,7 @@ class DocAnnotationsList200ResponseAnnotationsItemStrikeout extends JsonSerializ
* quadPoints: array,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -186,6 +193,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemText.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemText.php
index f665946..5e94b34 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemText.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemText.php
@@ -57,6 +57,12 @@ class DocAnnotationsList200ResponseAnnotationsItemText extends JsonSerializableT
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -141,6 +147,18 @@ class DocAnnotationsList200ResponseAnnotationsItemText extends JsonSerializableT
#[JsonProperty('icon')]
public string $icon;
+ /**
+ * @var ?string $state
+ */
+ #[JsonProperty('state')]
+ public ?string $state;
+
+ /**
+ * @var ?string $stateModel
+ */
+ #[JsonProperty('stateModel')]
+ public ?string $stateModel;
+
/**
* @param array{
* ref: DocAnnotationsList200ResponseAnnotationsItemTextRef,
@@ -155,6 +173,7 @@ class DocAnnotationsList200ResponseAnnotationsItemText extends JsonSerializableT
* icon: value-of,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -165,6 +184,8 @@ class DocAnnotationsList200ResponseAnnotationsItemText extends JsonSerializableT
* createdBy?: ?string,
* updatedBy?: ?string,
* actions?: ?DocAnnotationsList200ResponseAnnotationsItemTextActions,
+ * state?: ?string,
+ * stateModel?: ?string,
* } $values
*/
public function __construct(
@@ -178,6 +199,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
@@ -192,6 +214,8 @@ public function __construct(
$this->color = $values['color'];
$this->opacity = $values['opacity'];
$this->icon = $values['icon'];
+ $this->state = $values['state'] ?? null;
+ $this->stateModel = $values['stateModel'] ?? null;
}
/**
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemUnderline.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemUnderline.php
index 8d75a33..4054d71 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemUnderline.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemUnderline.php
@@ -58,6 +58,12 @@ class DocAnnotationsList200ResponseAnnotationsItemUnderline extends JsonSerializ
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -156,6 +162,7 @@ class DocAnnotationsList200ResponseAnnotationsItemUnderline extends JsonSerializ
* quadPoints: array,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -179,6 +186,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemUnsupported.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemUnsupported.php
index 4fec0ea..91ffcf2 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemUnsupported.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemUnsupported.php
@@ -57,6 +57,12 @@ class DocAnnotationsList200ResponseAnnotationsItemUnsupported extends JsonSerial
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -147,6 +153,7 @@ class DocAnnotationsList200ResponseAnnotationsItemUnsupported extends JsonSerial
* rawSubtypeCode: int,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -171,6 +178,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsList200ResponseAnnotationsItemWidget.php b/src/Types/DocAnnotationsList200ResponseAnnotationsItemWidget.php
index 58fde19..296c057 100644
--- a/src/Types/DocAnnotationsList200ResponseAnnotationsItemWidget.php
+++ b/src/Types/DocAnnotationsList200ResponseAnnotationsItemWidget.php
@@ -57,6 +57,12 @@ class DocAnnotationsList200ResponseAnnotationsItemWidget extends JsonSerializabl
#[JsonProperty('contents')]
public ?string $contents;
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
/**
* @var ?string $author
*/
@@ -199,6 +205,7 @@ class DocAnnotationsList200ResponseAnnotationsItemWidget extends JsonSerializabl
* fieldFamily: value-of,
* nm?: ?string,
* contents?: ?string,
+ * subject?: ?string,
* author?: ?string,
* created?: ?DateTime,
* modified?: ?DateTime,
@@ -227,6 +234,7 @@ public function __construct(
$this->flags = $values['flags'];
$this->rect = $values['rect'];
$this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
$this->author = $values['author'] ?? null;
$this->created = $values['created'] ?? null;
$this->modified = $values['modified'] ?? null;
diff --git a/src/Types/DocAnnotationsListAll200Response.php b/src/Types/DocAnnotationsListAll200Response.php
new file mode 100644
index 0000000..95bb673
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200Response.php
@@ -0,0 +1,43 @@
+ $pages
+ */
+ #[JsonProperty('pages'), ArrayType([DocAnnotationsListAll200ResponsePagesItem::class])]
+ public array $pages;
+
+ /**
+ * @var ?int $auditHead
+ */
+ #[JsonProperty('auditHead')]
+ public ?int $auditHead;
+
+ /**
+ * @param array{
+ * pages: array,
+ * auditHead?: ?int,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->pages = $values['pages'];
+ $this->auditHead = $values['auditHead'] ?? null;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItem.php b/src/Types/DocAnnotationsListAll200ResponsePagesItem.php
new file mode 100644
index 0000000..cccec39
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItem.php
@@ -0,0 +1,43 @@
+ $annotations
+ */
+ #[JsonProperty('annotations'), ArrayType([DocAnnotationsListAll200ResponsePagesItemAnnotationsItem::class])]
+ public array $annotations;
+
+ /**
+ * @param array{
+ * pageState: DocAnnotationsListAll200ResponsePagesItemPageState,
+ * annotations: array,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->pageState = $values['pageState'];
+ $this->annotations = $values['annotations'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItem.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItem.php
new file mode 100644
index 0000000..c894878
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItem.php
@@ -0,0 +1,961 @@
+subtype = $values['subtype'];
+ $this->value = $values['value'];
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemHighlight $highlight
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function highlight(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemHighlight $highlight): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'highlight',
+ 'value' => $highlight,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnderline $underline
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function underline(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnderline $underline): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'underline',
+ 'value' => $underline,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquiggly $squiggly
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function squiggly(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquiggly $squiggly): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'squiggly',
+ 'value' => $squiggly,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStrikeout $strikeout
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function strikeout(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStrikeout $strikeout): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'strikeout',
+ 'value' => $strikeout,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircle $circle
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function circle(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircle $circle): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'circle',
+ 'value' => $circle,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquare $square
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function square(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquare $square): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'square',
+ 'value' => $square,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolygon $polygon
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function polygon(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolygon $polygon): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'polygon',
+ 'value' => $polygon,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolyline $polyline
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function polyline(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolyline $polyline): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'polyline',
+ 'value' => $polyline,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLine $line
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function line(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLine $line): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'line',
+ 'value' => $line,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLink $link
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function link(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLink $link): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'link',
+ 'value' => $link,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemInk $ink
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function ink(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemInk $ink): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'ink',
+ 'value' => $ink,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeText $freeText
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function freeText(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeText $freeText): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'free-text',
+ 'value' => $freeText,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaret $caret
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function caret(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaret $caret): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'caret',
+ 'value' => $caret,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemText $text
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function text(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemText $text): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'text',
+ 'value' => $text,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStamp $stamp
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function stamp(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStamp $stamp): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'stamp',
+ 'value' => $stamp,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachment $fileAttachment
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function fileAttachment(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachment $fileAttachment): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'file-attachment',
+ 'value' => $fileAttachment,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemWidget $widget
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function widget(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemWidget $widget): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'widget',
+ 'value' => $widget,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemRedact $redact
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function redact(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemRedact $redact): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'redact',
+ 'value' => $redact,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnsupported $unsupported
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ */
+ public static function unsupported(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnsupported $unsupported): DocAnnotationsListAll200ResponsePagesItemAnnotationsItem
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItem([
+ 'subtype' => 'unsupported',
+ 'value' => $unsupported,
+ ]);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isHighlight(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemHighlight && $this->subtype === 'highlight';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemHighlight
+ */
+ public function asHighlight(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemHighlight
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemHighlight && $this->subtype === 'highlight')) {
+ throw new Exception(
+ "Expected highlight; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isUnderline(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnderline && $this->subtype === 'underline';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnderline
+ */
+ public function asUnderline(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnderline
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnderline && $this->subtype === 'underline')) {
+ throw new Exception(
+ "Expected underline; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isSquiggly(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquiggly && $this->subtype === 'squiggly';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquiggly
+ */
+ public function asSquiggly(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquiggly
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquiggly && $this->subtype === 'squiggly')) {
+ throw new Exception(
+ "Expected squiggly; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isStrikeout(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStrikeout && $this->subtype === 'strikeout';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStrikeout
+ */
+ public function asStrikeout(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStrikeout
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStrikeout && $this->subtype === 'strikeout')) {
+ throw new Exception(
+ "Expected strikeout; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isCircle(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircle && $this->subtype === 'circle';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircle
+ */
+ public function asCircle(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircle
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircle && $this->subtype === 'circle')) {
+ throw new Exception(
+ "Expected circle; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isSquare(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquare && $this->subtype === 'square';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquare
+ */
+ public function asSquare(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquare
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquare && $this->subtype === 'square')) {
+ throw new Exception(
+ "Expected square; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isPolygon(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolygon && $this->subtype === 'polygon';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolygon
+ */
+ public function asPolygon(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolygon
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolygon && $this->subtype === 'polygon')) {
+ throw new Exception(
+ "Expected polygon; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isPolyline(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolyline && $this->subtype === 'polyline';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolyline
+ */
+ public function asPolyline(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolyline
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolyline && $this->subtype === 'polyline')) {
+ throw new Exception(
+ "Expected polyline; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isLine(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLine && $this->subtype === 'line';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLine
+ */
+ public function asLine(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLine
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLine && $this->subtype === 'line')) {
+ throw new Exception(
+ "Expected line; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isLink(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLink && $this->subtype === 'link';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLink
+ */
+ public function asLink(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLink
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLink && $this->subtype === 'link')) {
+ throw new Exception(
+ "Expected link; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isInk(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemInk && $this->subtype === 'ink';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemInk
+ */
+ public function asInk(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemInk
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemInk && $this->subtype === 'ink')) {
+ throw new Exception(
+ "Expected ink; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isFreeText(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeText && $this->subtype === 'free-text';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeText
+ */
+ public function asFreeText(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeText
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeText && $this->subtype === 'free-text')) {
+ throw new Exception(
+ "Expected free-text; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isCaret(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaret && $this->subtype === 'caret';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaret
+ */
+ public function asCaret(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaret
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaret && $this->subtype === 'caret')) {
+ throw new Exception(
+ "Expected caret; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isText(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemText && $this->subtype === 'text';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemText
+ */
+ public function asText(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemText
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemText && $this->subtype === 'text')) {
+ throw new Exception(
+ "Expected text; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isStamp(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStamp && $this->subtype === 'stamp';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStamp
+ */
+ public function asStamp(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStamp
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStamp && $this->subtype === 'stamp')) {
+ throw new Exception(
+ "Expected stamp; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isFileAttachment(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachment && $this->subtype === 'file-attachment';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachment
+ */
+ public function asFileAttachment(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachment
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachment && $this->subtype === 'file-attachment')) {
+ throw new Exception(
+ "Expected file-attachment; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isWidget(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemWidget && $this->subtype === 'widget';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemWidget
+ */
+ public function asWidget(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemWidget
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemWidget && $this->subtype === 'widget')) {
+ throw new Exception(
+ "Expected widget; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isRedact(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemRedact && $this->subtype === 'redact';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemRedact
+ */
+ public function asRedact(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemRedact
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemRedact && $this->subtype === 'redact')) {
+ throw new Exception(
+ "Expected redact; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isUnsupported(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnsupported && $this->subtype === 'unsupported';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnsupported
+ */
+ public function asUnsupported(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnsupported
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnsupported && $this->subtype === 'unsupported')) {
+ throw new Exception(
+ "Expected unsupported; got " . $this->subtype . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+
+ /**
+ * @return array
+ */
+ public function jsonSerialize(): array
+ {
+ $result = [];
+ $result['subtype'] = $this->subtype;
+
+ $base = parent::jsonSerialize();
+ $result = array_merge($base, $result);
+
+ switch ($this->subtype) {
+ case 'highlight':
+ $value = $this->asHighlight()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'underline':
+ $value = $this->asUnderline()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'squiggly':
+ $value = $this->asSquiggly()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'strikeout':
+ $value = $this->asStrikeout()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'circle':
+ $value = $this->asCircle()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'square':
+ $value = $this->asSquare()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'polygon':
+ $value = $this->asPolygon()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'polyline':
+ $value = $this->asPolyline()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'line':
+ $value = $this->asLine()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'link':
+ $value = $this->asLink()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'ink':
+ $value = $this->asInk()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'free-text':
+ $value = $this->asFreeText()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'caret':
+ $value = $this->asCaret()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'text':
+ $value = $this->asText()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'stamp':
+ $value = $this->asStamp()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'file-attachment':
+ $value = $this->asFileAttachment()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'widget':
+ $value = $this->asWidget()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'redact':
+ $value = $this->asRedact()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'unsupported':
+ $value = $this->asUnsupported()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case '_unknown':
+ default:
+ if (is_null($this->value)) {
+ break;
+ }
+ if ($this->value instanceof JsonSerializableType) {
+ $value = $this->value->jsonSerialize();
+ $result = array_merge($value, $result);
+ } elseif (is_array($this->value)) {
+ $result = array_merge($this->value, $result);
+ }
+ }
+
+ return $result;
+ }
+
+ /**
+ * @param array $data
+ */
+ public static function jsonDeserialize(array $data): static
+ {
+ $args = [];
+ if (!array_key_exists('subtype', $data)) {
+ throw new Exception(
+ "JSON data is missing property 'subtype'",
+ );
+ }
+ $subtype = $data['subtype'];
+ if (!(is_string($subtype))) {
+ throw new Exception(
+ "Expected property 'subtype' in JSON data to be string, instead received " . get_debug_type($data['subtype']),
+ );
+ }
+
+ $args['subtype'] = $subtype;
+ switch ($subtype) {
+ case 'highlight':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemHighlight::jsonDeserialize($data);
+ break;
+ case 'underline':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnderline::jsonDeserialize($data);
+ break;
+ case 'squiggly':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquiggly::jsonDeserialize($data);
+ break;
+ case 'strikeout':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStrikeout::jsonDeserialize($data);
+ break;
+ case 'circle':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircle::jsonDeserialize($data);
+ break;
+ case 'square':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemSquare::jsonDeserialize($data);
+ break;
+ case 'polygon':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolygon::jsonDeserialize($data);
+ break;
+ case 'polyline':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemPolyline::jsonDeserialize($data);
+ break;
+ case 'line':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLine::jsonDeserialize($data);
+ break;
+ case 'link':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemLink::jsonDeserialize($data);
+ break;
+ case 'ink':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemInk::jsonDeserialize($data);
+ break;
+ case 'free-text':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeText::jsonDeserialize($data);
+ break;
+ case 'caret':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaret::jsonDeserialize($data);
+ break;
+ case 'text':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemText::jsonDeserialize($data);
+ break;
+ case 'stamp':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemStamp::jsonDeserialize($data);
+ break;
+ case 'file-attachment':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachment::jsonDeserialize($data);
+ break;
+ case 'widget':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemWidget::jsonDeserialize($data);
+ break;
+ case 'redact':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemRedact::jsonDeserialize($data);
+ break;
+ case 'unsupported':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemUnsupported::jsonDeserialize($data);
+ break;
+ case '_unknown':
+ default:
+ $args['subtype'] = '_unknown';
+ $args['value'] = $data;
+ }
+
+ // @phpstan-ignore-next-line
+ return new static($args);
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaret.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaret.php
new file mode 100644
index 0000000..a245d73
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaret.php
@@ -0,0 +1,236 @@
+ $identityQuality
+ */
+ #[JsonProperty('identityQuality')]
+ public string $identityQuality;
+
+ /**
+ * @var ?string $nm
+ */
+ #[JsonProperty('nm')]
+ public ?string $nm;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretFlags $flags
+ */
+ #[JsonProperty('flags')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretFlags $flags;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRect $rect
+ */
+ #[JsonProperty('rect')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRect $rect;
+
+ /**
+ * @var ?string $contents
+ */
+ #[JsonProperty('contents')]
+ public ?string $contents;
+
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
+ /**
+ * @var ?string $author
+ */
+ #[JsonProperty('author')]
+ public ?string $author;
+
+ /**
+ * @var ?DateTime $created
+ */
+ #[JsonProperty('created'), Date(Date::TYPE_DATETIME)]
+ public ?DateTime $created;
+
+ /**
+ * @var ?DateTime $modified
+ */
+ #[JsonProperty('modified'), Date(Date::TYPE_DATETIME)]
+ public ?DateTime $modified;
+
+ /**
+ * @var value-of $blendMode
+ */
+ #[JsonProperty('blendMode')]
+ public string $blendMode;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo $inReplyTo
+ */
+ #[JsonProperty('inReplyTo')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo $inReplyTo;
+
+ /**
+ * @var ?value-of $replyType
+ */
+ #[JsonProperty('replyType')]
+ public ?string $replyType;
+
+ /**
+ * @var ?string $userId
+ */
+ #[JsonProperty('userId')]
+ public ?string $userId;
+
+ /**
+ * @var ?string $groupId
+ */
+ #[JsonProperty('groupId')]
+ public ?string $groupId;
+
+ /**
+ * @var ?string $createdBy
+ */
+ #[JsonProperty('createdBy')]
+ public ?string $createdBy;
+
+ /**
+ * @var ?string $updatedBy
+ */
+ #[JsonProperty('updatedBy')]
+ public ?string $updatedBy;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActions $actions
+ */
+ #[JsonProperty('actions')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActions $actions;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretColor $color
+ */
+ #[JsonProperty('color')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretColor $color;
+
+ /**
+ * @var float $opacity
+ */
+ #[JsonProperty('opacity')]
+ public float $opacity;
+
+ /**
+ * @var ?value-of $intent
+ */
+ #[JsonProperty('intent')]
+ public ?string $intent;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRectDifferences $rectDifferences
+ */
+ #[JsonProperty('rectDifferences')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRectDifferences $rectDifferences;
+
+ /**
+ * @var ?float $rotation
+ */
+ #[JsonProperty('rotation')]
+ public ?float $rotation;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretUnrotatedRect $unrotatedRect
+ */
+ #[JsonProperty('unrotatedRect')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretUnrotatedRect $unrotatedRect;
+
+ /**
+ * @param array{
+ * ref: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef,
+ * pageObjectNumber: int,
+ * index: int,
+ * identityQuality: value-of,
+ * flags: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretFlags,
+ * rect: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRect,
+ * blendMode: value-of,
+ * color: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretColor,
+ * opacity: float,
+ * nm?: ?string,
+ * contents?: ?string,
+ * subject?: ?string,
+ * author?: ?string,
+ * created?: ?DateTime,
+ * modified?: ?DateTime,
+ * inReplyTo?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo,
+ * replyType?: ?value-of,
+ * userId?: ?string,
+ * groupId?: ?string,
+ * createdBy?: ?string,
+ * updatedBy?: ?string,
+ * actions?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActions,
+ * intent?: ?value-of,
+ * rectDifferences?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRectDifferences,
+ * rotation?: ?float,
+ * unrotatedRect?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretUnrotatedRect,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->ref = $values['ref'];
+ $this->pageObjectNumber = $values['pageObjectNumber'];
+ $this->index = $values['index'];
+ $this->identityQuality = $values['identityQuality'];
+ $this->nm = $values['nm'] ?? null;
+ $this->flags = $values['flags'];
+ $this->rect = $values['rect'];
+ $this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
+ $this->author = $values['author'] ?? null;
+ $this->created = $values['created'] ?? null;
+ $this->modified = $values['modified'] ?? null;
+ $this->blendMode = $values['blendMode'];
+ $this->inReplyTo = $values['inReplyTo'] ?? null;
+ $this->replyType = $values['replyType'] ?? null;
+ $this->userId = $values['userId'] ?? null;
+ $this->groupId = $values['groupId'] ?? null;
+ $this->createdBy = $values['createdBy'] ?? null;
+ $this->updatedBy = $values['updatedBy'] ?? null;
+ $this->actions = $values['actions'] ?? null;
+ $this->color = $values['color'];
+ $this->opacity = $values['opacity'];
+ $this->intent = $values['intent'] ?? null;
+ $this->rectDifferences = $values['rectDifferences'] ?? null;
+ $this->rotation = $values['rotation'] ?? null;
+ $this->unrotatedRect = $values['unrotatedRect'] ?? null;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActions.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActions.php
new file mode 100644
index 0000000..d1a3135
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActions.php
@@ -0,0 +1,114 @@
+activate = $values['activate'] ?? null;
+ $this->cursorEnter = $values['cursorEnter'] ?? null;
+ $this->cursorExit = $values['cursorExit'] ?? null;
+ $this->mouseDown = $values['mouseDown'] ?? null;
+ $this->mouseUp = $values['mouseUp'] ?? null;
+ $this->focus = $values['focus'] ?? null;
+ $this->blur = $values['blur'] ?? null;
+ $this->pageOpen = $values['pageOpen'] ?? null;
+ $this->pageClose = $values['pageClose'] ?? null;
+ $this->pageVisible = $values['pageVisible'] ?? null;
+ $this->pageInvisible = $values['pageInvisible'] ?? null;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsActivate.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsActivate.php
new file mode 100644
index 0000000..d5cef0c
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsActivate.php
@@ -0,0 +1,59 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsActivateRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsActivateRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsActivateRoot.php
new file mode 100644
index 0000000..7b462a0
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsActivateRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsActivateRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsActivateRootType.php
new file mode 100644
index 0000000..06e5490
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsActivateRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsBlurRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsBlurRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsBlurRoot.php
new file mode 100644
index 0000000..7a1f521
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsBlurRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsBlurRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsBlurRootType.php
new file mode 100644
index 0000000..77f81d3
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsBlurRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorEnterRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorEnterRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorEnterRoot.php
new file mode 100644
index 0000000..dd313ff
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorEnterRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorEnterRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorEnterRootType.php
new file mode 100644
index 0000000..fb91446
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorEnterRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorExitRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorExitRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorExitRoot.php
new file mode 100644
index 0000000..6f71903
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorExitRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorExitRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorExitRootType.php
new file mode 100644
index 0000000..ea44f42
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsCursorExitRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsFocusRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsFocusRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsFocusRoot.php
new file mode 100644
index 0000000..840bd37
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsFocusRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsFocusRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsFocusRootType.php
new file mode 100644
index 0000000..9d6bccc
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsFocusRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseDownRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseDownRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseDownRoot.php
new file mode 100644
index 0000000..a6b73a0
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseDownRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseDownRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseDownRootType.php
new file mode 100644
index 0000000..01ea1ea
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseDownRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseUpRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseUpRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseUpRoot.php
new file mode 100644
index 0000000..99e7497
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseUpRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseUpRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseUpRootType.php
new file mode 100644
index 0000000..15d9a1b
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsMouseUpRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageCloseRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageCloseRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageCloseRoot.php
new file mode 100644
index 0000000..439a010
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageCloseRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageCloseRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageCloseRootType.php
new file mode 100644
index 0000000..3fc44d1
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageCloseRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageInvisibleRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageInvisibleRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageInvisibleRoot.php
new file mode 100644
index 0000000..7702035
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageInvisibleRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageInvisibleRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageInvisibleRootType.php
new file mode 100644
index 0000000..432ed93
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageInvisibleRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageOpenRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageOpenRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageOpenRoot.php
new file mode 100644
index 0000000..2fd9087
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageOpenRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageOpenRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageOpenRootType.php
new file mode 100644
index 0000000..185344e
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageOpenRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageVisibleRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageVisibleRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageVisibleRoot.php
new file mode 100644
index 0000000..8457151
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageVisibleRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageVisibleRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageVisibleRootType.php
new file mode 100644
index 0000000..a4205b7
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretActionsPageVisibleRootType.php
@@ -0,0 +1,26 @@
+r = $values['r'];
+ $this->g = $values['g'];
+ $this->b = $values['b'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretFlags.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretFlags.php
new file mode 100644
index 0000000..ab16bcb
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretFlags.php
@@ -0,0 +1,106 @@
+invisible = $values['invisible'];
+ $this->hidden = $values['hidden'];
+ $this->print = $values['print'];
+ $this->noZoom = $values['noZoom'];
+ $this->noRotate = $values['noRotate'];
+ $this->noView = $values['noView'];
+ $this->readOnly = $values['readOnly'];
+ $this->locked = $values['locked'];
+ $this->toggleNoView = $values['toggleNoView'];
+ $this->lockedContents = $values['lockedContents'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretIdentityQuality.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretIdentityQuality.php
new file mode 100644
index 0000000..60e1764
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretIdentityQuality.php
@@ -0,0 +1,9 @@
+kind = $values['kind'];
+ $this->value = $values['value'];
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToObjectNumber $objectNumber
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo
+ */
+ public static function objectNumber(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToObjectNumber $objectNumber): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo([
+ 'kind' => 'objectNumber',
+ 'value' => $objectNumber,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToNm $nm
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo
+ */
+ public static function nm(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToNm $nm): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo([
+ 'kind' => 'nm',
+ 'value' => $nm,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndex $index
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo
+ */
+ public static function index(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndex $index): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyTo([
+ 'kind' => 'index',
+ 'value' => $index,
+ ]);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isObjectNumber(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToObjectNumber && $this->kind === 'objectNumber';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToObjectNumber
+ */
+ public function asObjectNumber(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToObjectNumber
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToObjectNumber && $this->kind === 'objectNumber')) {
+ throw new Exception(
+ "Expected objectNumber; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isNm(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToNm && $this->kind === 'nm';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToNm
+ */
+ public function asNm(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToNm
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToNm && $this->kind === 'nm')) {
+ throw new Exception(
+ "Expected nm; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isIndex(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndex && $this->kind === 'index';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndex
+ */
+ public function asIndex(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndex
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndex && $this->kind === 'index')) {
+ throw new Exception(
+ "Expected index; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+
+ /**
+ * @return array
+ */
+ public function jsonSerialize(): array
+ {
+ $result = [];
+ $result['kind'] = $this->kind;
+
+ $base = parent::jsonSerialize();
+ $result = array_merge($base, $result);
+
+ switch ($this->kind) {
+ case 'objectNumber':
+ $value = $this->asObjectNumber()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'nm':
+ $value = $this->asNm()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'index':
+ $value = $this->asIndex()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case '_unknown':
+ default:
+ if (is_null($this->value)) {
+ break;
+ }
+ if ($this->value instanceof JsonSerializableType) {
+ $value = $this->value->jsonSerialize();
+ $result = array_merge($value, $result);
+ } elseif (is_array($this->value)) {
+ $result = array_merge($this->value, $result);
+ }
+ }
+
+ return $result;
+ }
+
+ /**
+ * @param array $data
+ */
+ public static function jsonDeserialize(array $data): static
+ {
+ $args = [];
+ if (!array_key_exists('kind', $data)) {
+ throw new Exception(
+ "JSON data is missing property 'kind'",
+ );
+ }
+ $kind = $data['kind'];
+ if (!(is_string($kind))) {
+ throw new Exception(
+ "Expected property 'kind' in JSON data to be string, instead received " . get_debug_type($data['kind']),
+ );
+ }
+
+ $args['kind'] = $kind;
+ switch ($kind) {
+ case 'objectNumber':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToObjectNumber::jsonDeserialize($data);
+ break;
+ case 'nm':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToNm::jsonDeserialize($data);
+ break;
+ case 'index':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndex::jsonDeserialize($data);
+ break;
+ case '_unknown':
+ default:
+ $args['kind'] = '_unknown';
+ $args['value'] = $data;
+ }
+
+ // @phpstan-ignore-next-line
+ return new static($args);
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndex.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndex.php
new file mode 100644
index 0000000..ef299cd
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndex.php
@@ -0,0 +1,50 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->index = $values['index'];
+ $this->revision = $values['revision'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndexRevision.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndexRevision.php
new file mode 100644
index 0000000..a70b471
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToIndexRevision.php
@@ -0,0 +1,50 @@
+docSessionId = $values['docSessionId'];
+ $this->pageObjectNumber = $values['pageObjectNumber'];
+ $this->generation = $values['generation'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToNm.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToNm.php
new file mode 100644
index 0000000..5703a7b
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToNm.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->nm = $values['nm'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToObjectNumber.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToObjectNumber.php
new file mode 100644
index 0000000..1d7075b
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretInReplyToObjectNumber.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->annotObjectNumber = $values['annotObjectNumber'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretIntent.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretIntent.php
new file mode 100644
index 0000000..d7c89d4
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretIntent.php
@@ -0,0 +1,8 @@
+left = $values['left'];
+ $this->bottom = $values['bottom'];
+ $this->right = $values['right'];
+ $this->top = $values['top'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRectDifferences.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRectDifferences.php
new file mode 100644
index 0000000..d9f3419
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRectDifferences.php
@@ -0,0 +1,58 @@
+left = $values['left'];
+ $this->top = $values['top'];
+ $this->right = $values['right'];
+ $this->bottom = $values['bottom'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef.php
new file mode 100644
index 0000000..9b1e1a7
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef.php
@@ -0,0 +1,241 @@
+kind = $values['kind'];
+ $this->value = $values['value'];
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefObjectNumber $objectNumber
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef
+ */
+ public static function objectNumber(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefObjectNumber $objectNumber): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef([
+ 'kind' => 'objectNumber',
+ 'value' => $objectNumber,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefNm $nm
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef
+ */
+ public static function nm(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefNm $nm): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef([
+ 'kind' => 'nm',
+ 'value' => $nm,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndex $index
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef
+ */
+ public static function index(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndex $index): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRef([
+ 'kind' => 'index',
+ 'value' => $index,
+ ]);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isObjectNumber(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefObjectNumber && $this->kind === 'objectNumber';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefObjectNumber
+ */
+ public function asObjectNumber(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefObjectNumber
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefObjectNumber && $this->kind === 'objectNumber')) {
+ throw new Exception(
+ "Expected objectNumber; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isNm(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefNm && $this->kind === 'nm';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefNm
+ */
+ public function asNm(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefNm
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefNm && $this->kind === 'nm')) {
+ throw new Exception(
+ "Expected nm; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isIndex(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndex && $this->kind === 'index';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndex
+ */
+ public function asIndex(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndex
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndex && $this->kind === 'index')) {
+ throw new Exception(
+ "Expected index; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+
+ /**
+ * @return array
+ */
+ public function jsonSerialize(): array
+ {
+ $result = [];
+ $result['kind'] = $this->kind;
+
+ $base = parent::jsonSerialize();
+ $result = array_merge($base, $result);
+
+ switch ($this->kind) {
+ case 'objectNumber':
+ $value = $this->asObjectNumber()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'nm':
+ $value = $this->asNm()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'index':
+ $value = $this->asIndex()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case '_unknown':
+ default:
+ if (is_null($this->value)) {
+ break;
+ }
+ if ($this->value instanceof JsonSerializableType) {
+ $value = $this->value->jsonSerialize();
+ $result = array_merge($value, $result);
+ } elseif (is_array($this->value)) {
+ $result = array_merge($this->value, $result);
+ }
+ }
+
+ return $result;
+ }
+
+ /**
+ * @param array $data
+ */
+ public static function jsonDeserialize(array $data): static
+ {
+ $args = [];
+ if (!array_key_exists('kind', $data)) {
+ throw new Exception(
+ "JSON data is missing property 'kind'",
+ );
+ }
+ $kind = $data['kind'];
+ if (!(is_string($kind))) {
+ throw new Exception(
+ "Expected property 'kind' in JSON data to be string, instead received " . get_debug_type($data['kind']),
+ );
+ }
+
+ $args['kind'] = $kind;
+ switch ($kind) {
+ case 'objectNumber':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefObjectNumber::jsonDeserialize($data);
+ break;
+ case 'nm':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefNm::jsonDeserialize($data);
+ break;
+ case 'index':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndex::jsonDeserialize($data);
+ break;
+ case '_unknown':
+ default:
+ $args['kind'] = '_unknown';
+ $args['value'] = $data;
+ }
+
+ // @phpstan-ignore-next-line
+ return new static($args);
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndex.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndex.php
new file mode 100644
index 0000000..cc24dba
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndex.php
@@ -0,0 +1,50 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->index = $values['index'];
+ $this->revision = $values['revision'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndexRevision.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndexRevision.php
new file mode 100644
index 0000000..1d37a1a
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefIndexRevision.php
@@ -0,0 +1,50 @@
+docSessionId = $values['docSessionId'];
+ $this->pageObjectNumber = $values['pageObjectNumber'];
+ $this->generation = $values['generation'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefNm.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefNm.php
new file mode 100644
index 0000000..b233d89
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefNm.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->nm = $values['nm'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefObjectNumber.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefObjectNumber.php
new file mode 100644
index 0000000..df838c7
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretRefObjectNumber.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->annotObjectNumber = $values['annotObjectNumber'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretReplyType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretReplyType.php
new file mode 100644
index 0000000..b1424f7
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCaretReplyType.php
@@ -0,0 +1,9 @@
+left = $values['left'];
+ $this->bottom = $values['bottom'];
+ $this->right = $values['right'];
+ $this->top = $values['top'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircle.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircle.php
new file mode 100644
index 0000000..5d8fcfa
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircle.php
@@ -0,0 +1,269 @@
+ $identityQuality
+ */
+ #[JsonProperty('identityQuality')]
+ public string $identityQuality;
+
+ /**
+ * @var ?string $nm
+ */
+ #[JsonProperty('nm')]
+ public ?string $nm;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleFlags $flags
+ */
+ #[JsonProperty('flags')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleFlags $flags;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRect $rect
+ */
+ #[JsonProperty('rect')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRect $rect;
+
+ /**
+ * @var ?string $contents
+ */
+ #[JsonProperty('contents')]
+ public ?string $contents;
+
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
+ /**
+ * @var ?string $author
+ */
+ #[JsonProperty('author')]
+ public ?string $author;
+
+ /**
+ * @var ?DateTime $created
+ */
+ #[JsonProperty('created'), Date(Date::TYPE_DATETIME)]
+ public ?DateTime $created;
+
+ /**
+ * @var ?DateTime $modified
+ */
+ #[JsonProperty('modified'), Date(Date::TYPE_DATETIME)]
+ public ?DateTime $modified;
+
+ /**
+ * @var value-of $blendMode
+ */
+ #[JsonProperty('blendMode')]
+ public string $blendMode;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo $inReplyTo
+ */
+ #[JsonProperty('inReplyTo')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo $inReplyTo;
+
+ /**
+ * @var ?value-of $replyType
+ */
+ #[JsonProperty('replyType')]
+ public ?string $replyType;
+
+ /**
+ * @var ?string $userId
+ */
+ #[JsonProperty('userId')]
+ public ?string $userId;
+
+ /**
+ * @var ?string $groupId
+ */
+ #[JsonProperty('groupId')]
+ public ?string $groupId;
+
+ /**
+ * @var ?string $createdBy
+ */
+ #[JsonProperty('createdBy')]
+ public ?string $createdBy;
+
+ /**
+ * @var ?string $updatedBy
+ */
+ #[JsonProperty('updatedBy')]
+ public ?string $updatedBy;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActions $actions
+ */
+ #[JsonProperty('actions')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActions $actions;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleColor $color
+ */
+ #[JsonProperty('color')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleColor $color;
+
+ /**
+ * @var float $opacity
+ */
+ #[JsonProperty('opacity')]
+ public float $opacity;
+
+ /**
+ * @var float $strokeWidth
+ */
+ #[JsonProperty('strokeWidth')]
+ public float $strokeWidth;
+
+ /**
+ * @var value-of $borderStyle
+ */
+ #[JsonProperty('borderStyle')]
+ public string $borderStyle;
+
+ /**
+ * @var ?array $dashArray
+ */
+ #[JsonProperty('dashArray'), ArrayType(['float'])]
+ public ?array $dashArray;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInteriorColor $interiorColor
+ */
+ #[JsonProperty('interiorColor')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInteriorColor $interiorColor;
+
+ /**
+ * @var ?float $cloudyIntensity
+ */
+ #[JsonProperty('cloudyIntensity')]
+ public ?float $cloudyIntensity;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRectDifferences $rectDifferences
+ */
+ #[JsonProperty('rectDifferences')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRectDifferences $rectDifferences;
+
+ /**
+ * @var ?float $rotation
+ */
+ #[JsonProperty('rotation')]
+ public ?float $rotation;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleUnrotatedRect $unrotatedRect
+ */
+ #[JsonProperty('unrotatedRect')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleUnrotatedRect $unrotatedRect;
+
+ /**
+ * @param array{
+ * ref: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef,
+ * pageObjectNumber: int,
+ * index: int,
+ * identityQuality: value-of,
+ * flags: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleFlags,
+ * rect: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRect,
+ * blendMode: value-of,
+ * color: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleColor,
+ * opacity: float,
+ * strokeWidth: float,
+ * borderStyle: value-of,
+ * nm?: ?string,
+ * contents?: ?string,
+ * subject?: ?string,
+ * author?: ?string,
+ * created?: ?DateTime,
+ * modified?: ?DateTime,
+ * inReplyTo?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo,
+ * replyType?: ?value-of,
+ * userId?: ?string,
+ * groupId?: ?string,
+ * createdBy?: ?string,
+ * updatedBy?: ?string,
+ * actions?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActions,
+ * dashArray?: ?array,
+ * interiorColor?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInteriorColor,
+ * cloudyIntensity?: ?float,
+ * rectDifferences?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRectDifferences,
+ * rotation?: ?float,
+ * unrotatedRect?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleUnrotatedRect,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->ref = $values['ref'];
+ $this->pageObjectNumber = $values['pageObjectNumber'];
+ $this->index = $values['index'];
+ $this->identityQuality = $values['identityQuality'];
+ $this->nm = $values['nm'] ?? null;
+ $this->flags = $values['flags'];
+ $this->rect = $values['rect'];
+ $this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
+ $this->author = $values['author'] ?? null;
+ $this->created = $values['created'] ?? null;
+ $this->modified = $values['modified'] ?? null;
+ $this->blendMode = $values['blendMode'];
+ $this->inReplyTo = $values['inReplyTo'] ?? null;
+ $this->replyType = $values['replyType'] ?? null;
+ $this->userId = $values['userId'] ?? null;
+ $this->groupId = $values['groupId'] ?? null;
+ $this->createdBy = $values['createdBy'] ?? null;
+ $this->updatedBy = $values['updatedBy'] ?? null;
+ $this->actions = $values['actions'] ?? null;
+ $this->color = $values['color'];
+ $this->opacity = $values['opacity'];
+ $this->strokeWidth = $values['strokeWidth'];
+ $this->borderStyle = $values['borderStyle'];
+ $this->dashArray = $values['dashArray'] ?? null;
+ $this->interiorColor = $values['interiorColor'] ?? null;
+ $this->cloudyIntensity = $values['cloudyIntensity'] ?? null;
+ $this->rectDifferences = $values['rectDifferences'] ?? null;
+ $this->rotation = $values['rotation'] ?? null;
+ $this->unrotatedRect = $values['unrotatedRect'] ?? null;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActions.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActions.php
new file mode 100644
index 0000000..bdda5ce
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActions.php
@@ -0,0 +1,114 @@
+activate = $values['activate'] ?? null;
+ $this->cursorEnter = $values['cursorEnter'] ?? null;
+ $this->cursorExit = $values['cursorExit'] ?? null;
+ $this->mouseDown = $values['mouseDown'] ?? null;
+ $this->mouseUp = $values['mouseUp'] ?? null;
+ $this->focus = $values['focus'] ?? null;
+ $this->blur = $values['blur'] ?? null;
+ $this->pageOpen = $values['pageOpen'] ?? null;
+ $this->pageClose = $values['pageClose'] ?? null;
+ $this->pageVisible = $values['pageVisible'] ?? null;
+ $this->pageInvisible = $values['pageInvisible'] ?? null;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsActivate.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsActivate.php
new file mode 100644
index 0000000..5df3738
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsActivate.php
@@ -0,0 +1,59 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsActivateRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsActivateRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsActivateRoot.php
new file mode 100644
index 0000000..bea11a2
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsActivateRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsActivateRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsActivateRootType.php
new file mode 100644
index 0000000..fef682c
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsActivateRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsBlurRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsBlurRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsBlurRoot.php
new file mode 100644
index 0000000..d31b49a
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsBlurRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsBlurRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsBlurRootType.php
new file mode 100644
index 0000000..2da1007
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsBlurRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorEnterRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorEnterRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorEnterRoot.php
new file mode 100644
index 0000000..22f4f6f
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorEnterRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorEnterRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorEnterRootType.php
new file mode 100644
index 0000000..7454db8
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorEnterRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorExitRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorExitRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorExitRoot.php
new file mode 100644
index 0000000..e3db4e6
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorExitRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorExitRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorExitRootType.php
new file mode 100644
index 0000000..ee1eab9
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsCursorExitRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsFocusRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsFocusRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsFocusRoot.php
new file mode 100644
index 0000000..be2feda
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsFocusRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsFocusRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsFocusRootType.php
new file mode 100644
index 0000000..dc2dc33
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsFocusRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseDownRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseDownRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseDownRoot.php
new file mode 100644
index 0000000..f88c9f1
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseDownRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseDownRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseDownRootType.php
new file mode 100644
index 0000000..eb85f53
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseDownRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseUpRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseUpRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseUpRoot.php
new file mode 100644
index 0000000..9cee99b
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseUpRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseUpRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseUpRootType.php
new file mode 100644
index 0000000..f22dda7
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsMouseUpRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageCloseRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageCloseRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageCloseRoot.php
new file mode 100644
index 0000000..232f096
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageCloseRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageCloseRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageCloseRootType.php
new file mode 100644
index 0000000..adda0da
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageCloseRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageInvisibleRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageInvisibleRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageInvisibleRoot.php
new file mode 100644
index 0000000..c20c1cc
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageInvisibleRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageInvisibleRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageInvisibleRootType.php
new file mode 100644
index 0000000..c8543b6
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageInvisibleRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageOpenRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageOpenRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageOpenRoot.php
new file mode 100644
index 0000000..945fe2b
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageOpenRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageOpenRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageOpenRootType.php
new file mode 100644
index 0000000..d4f19fa
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageOpenRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageVisibleRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageVisibleRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageVisibleRoot.php
new file mode 100644
index 0000000..94fc9e6
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageVisibleRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageVisibleRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageVisibleRootType.php
new file mode 100644
index 0000000..250e681
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleActionsPageVisibleRootType.php
@@ -0,0 +1,26 @@
+r = $values['r'];
+ $this->g = $values['g'];
+ $this->b = $values['b'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleFlags.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleFlags.php
new file mode 100644
index 0000000..61fe921
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleFlags.php
@@ -0,0 +1,106 @@
+invisible = $values['invisible'];
+ $this->hidden = $values['hidden'];
+ $this->print = $values['print'];
+ $this->noZoom = $values['noZoom'];
+ $this->noRotate = $values['noRotate'];
+ $this->noView = $values['noView'];
+ $this->readOnly = $values['readOnly'];
+ $this->locked = $values['locked'];
+ $this->toggleNoView = $values['toggleNoView'];
+ $this->lockedContents = $values['lockedContents'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleIdentityQuality.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleIdentityQuality.php
new file mode 100644
index 0000000..216fc7a
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleIdentityQuality.php
@@ -0,0 +1,9 @@
+kind = $values['kind'];
+ $this->value = $values['value'];
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToObjectNumber $objectNumber
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo
+ */
+ public static function objectNumber(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToObjectNumber $objectNumber): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo([
+ 'kind' => 'objectNumber',
+ 'value' => $objectNumber,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToNm $nm
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo
+ */
+ public static function nm(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToNm $nm): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo([
+ 'kind' => 'nm',
+ 'value' => $nm,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndex $index
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo
+ */
+ public static function index(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndex $index): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyTo([
+ 'kind' => 'index',
+ 'value' => $index,
+ ]);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isObjectNumber(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToObjectNumber && $this->kind === 'objectNumber';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToObjectNumber
+ */
+ public function asObjectNumber(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToObjectNumber
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToObjectNumber && $this->kind === 'objectNumber')) {
+ throw new Exception(
+ "Expected objectNumber; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isNm(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToNm && $this->kind === 'nm';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToNm
+ */
+ public function asNm(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToNm
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToNm && $this->kind === 'nm')) {
+ throw new Exception(
+ "Expected nm; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isIndex(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndex && $this->kind === 'index';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndex
+ */
+ public function asIndex(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndex
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndex && $this->kind === 'index')) {
+ throw new Exception(
+ "Expected index; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+
+ /**
+ * @return array
+ */
+ public function jsonSerialize(): array
+ {
+ $result = [];
+ $result['kind'] = $this->kind;
+
+ $base = parent::jsonSerialize();
+ $result = array_merge($base, $result);
+
+ switch ($this->kind) {
+ case 'objectNumber':
+ $value = $this->asObjectNumber()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'nm':
+ $value = $this->asNm()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'index':
+ $value = $this->asIndex()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case '_unknown':
+ default:
+ if (is_null($this->value)) {
+ break;
+ }
+ if ($this->value instanceof JsonSerializableType) {
+ $value = $this->value->jsonSerialize();
+ $result = array_merge($value, $result);
+ } elseif (is_array($this->value)) {
+ $result = array_merge($this->value, $result);
+ }
+ }
+
+ return $result;
+ }
+
+ /**
+ * @param array $data
+ */
+ public static function jsonDeserialize(array $data): static
+ {
+ $args = [];
+ if (!array_key_exists('kind', $data)) {
+ throw new Exception(
+ "JSON data is missing property 'kind'",
+ );
+ }
+ $kind = $data['kind'];
+ if (!(is_string($kind))) {
+ throw new Exception(
+ "Expected property 'kind' in JSON data to be string, instead received " . get_debug_type($data['kind']),
+ );
+ }
+
+ $args['kind'] = $kind;
+ switch ($kind) {
+ case 'objectNumber':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToObjectNumber::jsonDeserialize($data);
+ break;
+ case 'nm':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToNm::jsonDeserialize($data);
+ break;
+ case 'index':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndex::jsonDeserialize($data);
+ break;
+ case '_unknown':
+ default:
+ $args['kind'] = '_unknown';
+ $args['value'] = $data;
+ }
+
+ // @phpstan-ignore-next-line
+ return new static($args);
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndex.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndex.php
new file mode 100644
index 0000000..e1f1be8
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndex.php
@@ -0,0 +1,50 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->index = $values['index'];
+ $this->revision = $values['revision'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndexRevision.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndexRevision.php
new file mode 100644
index 0000000..8f811a3
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToIndexRevision.php
@@ -0,0 +1,50 @@
+docSessionId = $values['docSessionId'];
+ $this->pageObjectNumber = $values['pageObjectNumber'];
+ $this->generation = $values['generation'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToNm.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToNm.php
new file mode 100644
index 0000000..3c2dcdf
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToNm.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->nm = $values['nm'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToObjectNumber.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToObjectNumber.php
new file mode 100644
index 0000000..4187e03
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInReplyToObjectNumber.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->annotObjectNumber = $values['annotObjectNumber'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInteriorColor.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInteriorColor.php
new file mode 100644
index 0000000..f6f2585
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleInteriorColor.php
@@ -0,0 +1,50 @@
+r = $values['r'];
+ $this->g = $values['g'];
+ $this->b = $values['b'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRect.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRect.php
new file mode 100644
index 0000000..648b67e
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRect.php
@@ -0,0 +1,58 @@
+left = $values['left'];
+ $this->bottom = $values['bottom'];
+ $this->right = $values['right'];
+ $this->top = $values['top'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRectDifferences.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRectDifferences.php
new file mode 100644
index 0000000..81263be
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRectDifferences.php
@@ -0,0 +1,58 @@
+left = $values['left'];
+ $this->top = $values['top'];
+ $this->right = $values['right'];
+ $this->bottom = $values['bottom'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef.php
new file mode 100644
index 0000000..c4ea106
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef.php
@@ -0,0 +1,241 @@
+kind = $values['kind'];
+ $this->value = $values['value'];
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefObjectNumber $objectNumber
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef
+ */
+ public static function objectNumber(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefObjectNumber $objectNumber): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef([
+ 'kind' => 'objectNumber',
+ 'value' => $objectNumber,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefNm $nm
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef
+ */
+ public static function nm(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefNm $nm): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef([
+ 'kind' => 'nm',
+ 'value' => $nm,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndex $index
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef
+ */
+ public static function index(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndex $index): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRef([
+ 'kind' => 'index',
+ 'value' => $index,
+ ]);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isObjectNumber(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefObjectNumber && $this->kind === 'objectNumber';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefObjectNumber
+ */
+ public function asObjectNumber(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefObjectNumber
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefObjectNumber && $this->kind === 'objectNumber')) {
+ throw new Exception(
+ "Expected objectNumber; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isNm(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefNm && $this->kind === 'nm';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefNm
+ */
+ public function asNm(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefNm
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefNm && $this->kind === 'nm')) {
+ throw new Exception(
+ "Expected nm; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isIndex(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndex && $this->kind === 'index';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndex
+ */
+ public function asIndex(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndex
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndex && $this->kind === 'index')) {
+ throw new Exception(
+ "Expected index; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+
+ /**
+ * @return array
+ */
+ public function jsonSerialize(): array
+ {
+ $result = [];
+ $result['kind'] = $this->kind;
+
+ $base = parent::jsonSerialize();
+ $result = array_merge($base, $result);
+
+ switch ($this->kind) {
+ case 'objectNumber':
+ $value = $this->asObjectNumber()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'nm':
+ $value = $this->asNm()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'index':
+ $value = $this->asIndex()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case '_unknown':
+ default:
+ if (is_null($this->value)) {
+ break;
+ }
+ if ($this->value instanceof JsonSerializableType) {
+ $value = $this->value->jsonSerialize();
+ $result = array_merge($value, $result);
+ } elseif (is_array($this->value)) {
+ $result = array_merge($this->value, $result);
+ }
+ }
+
+ return $result;
+ }
+
+ /**
+ * @param array $data
+ */
+ public static function jsonDeserialize(array $data): static
+ {
+ $args = [];
+ if (!array_key_exists('kind', $data)) {
+ throw new Exception(
+ "JSON data is missing property 'kind'",
+ );
+ }
+ $kind = $data['kind'];
+ if (!(is_string($kind))) {
+ throw new Exception(
+ "Expected property 'kind' in JSON data to be string, instead received " . get_debug_type($data['kind']),
+ );
+ }
+
+ $args['kind'] = $kind;
+ switch ($kind) {
+ case 'objectNumber':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefObjectNumber::jsonDeserialize($data);
+ break;
+ case 'nm':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefNm::jsonDeserialize($data);
+ break;
+ case 'index':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndex::jsonDeserialize($data);
+ break;
+ case '_unknown':
+ default:
+ $args['kind'] = '_unknown';
+ $args['value'] = $data;
+ }
+
+ // @phpstan-ignore-next-line
+ return new static($args);
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndex.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndex.php
new file mode 100644
index 0000000..9a0e592
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndex.php
@@ -0,0 +1,50 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->index = $values['index'];
+ $this->revision = $values['revision'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndexRevision.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndexRevision.php
new file mode 100644
index 0000000..7d62c02
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefIndexRevision.php
@@ -0,0 +1,50 @@
+docSessionId = $values['docSessionId'];
+ $this->pageObjectNumber = $values['pageObjectNumber'];
+ $this->generation = $values['generation'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefNm.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefNm.php
new file mode 100644
index 0000000..0a9541e
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefNm.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->nm = $values['nm'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefObjectNumber.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefObjectNumber.php
new file mode 100644
index 0000000..48eabd5
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleRefObjectNumber.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->annotObjectNumber = $values['annotObjectNumber'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleReplyType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleReplyType.php
new file mode 100644
index 0000000..afd6b9f
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemCircleReplyType.php
@@ -0,0 +1,9 @@
+left = $values['left'];
+ $this->bottom = $values['bottom'];
+ $this->right = $values['right'];
+ $this->top = $values['top'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachment.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachment.php
new file mode 100644
index 0000000..8fdbe97
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachment.php
@@ -0,0 +1,220 @@
+ $identityQuality
+ */
+ #[JsonProperty('identityQuality')]
+ public string $identityQuality;
+
+ /**
+ * @var ?string $nm
+ */
+ #[JsonProperty('nm')]
+ public ?string $nm;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFlags $flags
+ */
+ #[JsonProperty('flags')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFlags $flags;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRect $rect
+ */
+ #[JsonProperty('rect')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRect $rect;
+
+ /**
+ * @var ?string $contents
+ */
+ #[JsonProperty('contents')]
+ public ?string $contents;
+
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
+ /**
+ * @var ?string $author
+ */
+ #[JsonProperty('author')]
+ public ?string $author;
+
+ /**
+ * @var ?DateTime $created
+ */
+ #[JsonProperty('created'), Date(Date::TYPE_DATETIME)]
+ public ?DateTime $created;
+
+ /**
+ * @var ?DateTime $modified
+ */
+ #[JsonProperty('modified'), Date(Date::TYPE_DATETIME)]
+ public ?DateTime $modified;
+
+ /**
+ * @var value-of $blendMode
+ */
+ #[JsonProperty('blendMode')]
+ public string $blendMode;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo $inReplyTo
+ */
+ #[JsonProperty('inReplyTo')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo $inReplyTo;
+
+ /**
+ * @var ?value-of $replyType
+ */
+ #[JsonProperty('replyType')]
+ public ?string $replyType;
+
+ /**
+ * @var ?string $userId
+ */
+ #[JsonProperty('userId')]
+ public ?string $userId;
+
+ /**
+ * @var ?string $groupId
+ */
+ #[JsonProperty('groupId')]
+ public ?string $groupId;
+
+ /**
+ * @var ?string $createdBy
+ */
+ #[JsonProperty('createdBy')]
+ public ?string $createdBy;
+
+ /**
+ * @var ?string $updatedBy
+ */
+ #[JsonProperty('updatedBy')]
+ public ?string $updatedBy;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActions $actions
+ */
+ #[JsonProperty('actions')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActions $actions;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentColor $color
+ */
+ #[JsonProperty('color')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentColor $color;
+
+ /**
+ * @var float $opacity
+ */
+ #[JsonProperty('opacity')]
+ public float $opacity;
+
+ /**
+ * @var value-of $icon
+ */
+ #[JsonProperty('icon')]
+ public string $icon;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFile $file
+ */
+ #[JsonProperty('file')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFile $file;
+
+ /**
+ * @param array{
+ * ref: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef,
+ * pageObjectNumber: int,
+ * index: int,
+ * identityQuality: value-of,
+ * flags: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFlags,
+ * rect: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRect,
+ * blendMode: value-of,
+ * color: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentColor,
+ * opacity: float,
+ * icon: value-of,
+ * file: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFile,
+ * nm?: ?string,
+ * contents?: ?string,
+ * subject?: ?string,
+ * author?: ?string,
+ * created?: ?DateTime,
+ * modified?: ?DateTime,
+ * inReplyTo?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo,
+ * replyType?: ?value-of,
+ * userId?: ?string,
+ * groupId?: ?string,
+ * createdBy?: ?string,
+ * updatedBy?: ?string,
+ * actions?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActions,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->ref = $values['ref'];
+ $this->pageObjectNumber = $values['pageObjectNumber'];
+ $this->index = $values['index'];
+ $this->identityQuality = $values['identityQuality'];
+ $this->nm = $values['nm'] ?? null;
+ $this->flags = $values['flags'];
+ $this->rect = $values['rect'];
+ $this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
+ $this->author = $values['author'] ?? null;
+ $this->created = $values['created'] ?? null;
+ $this->modified = $values['modified'] ?? null;
+ $this->blendMode = $values['blendMode'];
+ $this->inReplyTo = $values['inReplyTo'] ?? null;
+ $this->replyType = $values['replyType'] ?? null;
+ $this->userId = $values['userId'] ?? null;
+ $this->groupId = $values['groupId'] ?? null;
+ $this->createdBy = $values['createdBy'] ?? null;
+ $this->updatedBy = $values['updatedBy'] ?? null;
+ $this->actions = $values['actions'] ?? null;
+ $this->color = $values['color'];
+ $this->opacity = $values['opacity'];
+ $this->icon = $values['icon'];
+ $this->file = $values['file'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActions.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActions.php
new file mode 100644
index 0000000..e2c846b
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActions.php
@@ -0,0 +1,114 @@
+activate = $values['activate'] ?? null;
+ $this->cursorEnter = $values['cursorEnter'] ?? null;
+ $this->cursorExit = $values['cursorExit'] ?? null;
+ $this->mouseDown = $values['mouseDown'] ?? null;
+ $this->mouseUp = $values['mouseUp'] ?? null;
+ $this->focus = $values['focus'] ?? null;
+ $this->blur = $values['blur'] ?? null;
+ $this->pageOpen = $values['pageOpen'] ?? null;
+ $this->pageClose = $values['pageClose'] ?? null;
+ $this->pageVisible = $values['pageVisible'] ?? null;
+ $this->pageInvisible = $values['pageInvisible'] ?? null;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsActivate.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsActivate.php
new file mode 100644
index 0000000..4a1a152
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsActivate.php
@@ -0,0 +1,59 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsActivateRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsActivateRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsActivateRoot.php
new file mode 100644
index 0000000..84e693f
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsActivateRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsActivateRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsActivateRootType.php
new file mode 100644
index 0000000..0cda205
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsActivateRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsBlurRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsBlurRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsBlurRoot.php
new file mode 100644
index 0000000..d7f7124
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsBlurRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsBlurRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsBlurRootType.php
new file mode 100644
index 0000000..62a32e9
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsBlurRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorEnterRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorEnterRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorEnterRoot.php
new file mode 100644
index 0000000..6bf890f
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorEnterRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorEnterRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorEnterRootType.php
new file mode 100644
index 0000000..570af3e
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorEnterRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorExitRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorExitRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorExitRoot.php
new file mode 100644
index 0000000..4ef1409
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorExitRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorExitRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorExitRootType.php
new file mode 100644
index 0000000..65b4218
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsCursorExitRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsFocusRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsFocusRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsFocusRoot.php
new file mode 100644
index 0000000..6e79bf6
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsFocusRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsFocusRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsFocusRootType.php
new file mode 100644
index 0000000..92a052e
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsFocusRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseDownRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseDownRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseDownRoot.php
new file mode 100644
index 0000000..25e6f8d
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseDownRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseDownRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseDownRootType.php
new file mode 100644
index 0000000..25bea1b
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseDownRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseUpRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseUpRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseUpRoot.php
new file mode 100644
index 0000000..0de2b79
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseUpRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseUpRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseUpRootType.php
new file mode 100644
index 0000000..41bb3ef
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsMouseUpRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageCloseRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageCloseRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageCloseRoot.php
new file mode 100644
index 0000000..d19e759
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageCloseRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageCloseRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageCloseRootType.php
new file mode 100644
index 0000000..d3ee8f7
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageCloseRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageInvisibleRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageInvisibleRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageInvisibleRoot.php
new file mode 100644
index 0000000..300d153
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageInvisibleRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageInvisibleRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageInvisibleRootType.php
new file mode 100644
index 0000000..5f9665b
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageInvisibleRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageOpenRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageOpenRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageOpenRoot.php
new file mode 100644
index 0000000..5091851
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageOpenRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageOpenRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageOpenRootType.php
new file mode 100644
index 0000000..5d3f0d1
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageOpenRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageVisibleRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageVisibleRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageVisibleRoot.php
new file mode 100644
index 0000000..1fa829f
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageVisibleRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageVisibleRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageVisibleRootType.php
new file mode 100644
index 0000000..5b063a8
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentActionsPageVisibleRootType.php
@@ -0,0 +1,26 @@
+r = $values['r'];
+ $this->g = $values['g'];
+ $this->b = $values['b'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFile.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFile.php
new file mode 100644
index 0000000..16b1016
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFile.php
@@ -0,0 +1,74 @@
+name = $values['name'];
+ $this->mimeType = $values['mimeType'] ?? null;
+ $this->description = $values['description'] ?? null;
+ $this->size = $values['size'] ?? null;
+ $this->checksum = $values['checksum'] ?? null;
+ $this->creationDate = $values['creationDate'] ?? null;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFlags.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFlags.php
new file mode 100644
index 0000000..49d90c7
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentFlags.php
@@ -0,0 +1,106 @@
+invisible = $values['invisible'];
+ $this->hidden = $values['hidden'];
+ $this->print = $values['print'];
+ $this->noZoom = $values['noZoom'];
+ $this->noRotate = $values['noRotate'];
+ $this->noView = $values['noView'];
+ $this->readOnly = $values['readOnly'];
+ $this->locked = $values['locked'];
+ $this->toggleNoView = $values['toggleNoView'];
+ $this->lockedContents = $values['lockedContents'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentIcon.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentIcon.php
new file mode 100644
index 0000000..0f2b9e5
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentIcon.php
@@ -0,0 +1,11 @@
+kind = $values['kind'];
+ $this->value = $values['value'];
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToObjectNumber $objectNumber
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo
+ */
+ public static function objectNumber(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToObjectNumber $objectNumber): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo([
+ 'kind' => 'objectNumber',
+ 'value' => $objectNumber,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToNm $nm
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo
+ */
+ public static function nm(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToNm $nm): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo([
+ 'kind' => 'nm',
+ 'value' => $nm,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndex $index
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo
+ */
+ public static function index(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndex $index): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyTo([
+ 'kind' => 'index',
+ 'value' => $index,
+ ]);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isObjectNumber(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToObjectNumber && $this->kind === 'objectNumber';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToObjectNumber
+ */
+ public function asObjectNumber(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToObjectNumber
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToObjectNumber && $this->kind === 'objectNumber')) {
+ throw new Exception(
+ "Expected objectNumber; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isNm(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToNm && $this->kind === 'nm';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToNm
+ */
+ public function asNm(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToNm
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToNm && $this->kind === 'nm')) {
+ throw new Exception(
+ "Expected nm; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isIndex(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndex && $this->kind === 'index';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndex
+ */
+ public function asIndex(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndex
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndex && $this->kind === 'index')) {
+ throw new Exception(
+ "Expected index; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+
+ /**
+ * @return array
+ */
+ public function jsonSerialize(): array
+ {
+ $result = [];
+ $result['kind'] = $this->kind;
+
+ $base = parent::jsonSerialize();
+ $result = array_merge($base, $result);
+
+ switch ($this->kind) {
+ case 'objectNumber':
+ $value = $this->asObjectNumber()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'nm':
+ $value = $this->asNm()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'index':
+ $value = $this->asIndex()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case '_unknown':
+ default:
+ if (is_null($this->value)) {
+ break;
+ }
+ if ($this->value instanceof JsonSerializableType) {
+ $value = $this->value->jsonSerialize();
+ $result = array_merge($value, $result);
+ } elseif (is_array($this->value)) {
+ $result = array_merge($this->value, $result);
+ }
+ }
+
+ return $result;
+ }
+
+ /**
+ * @param array $data
+ */
+ public static function jsonDeserialize(array $data): static
+ {
+ $args = [];
+ if (!array_key_exists('kind', $data)) {
+ throw new Exception(
+ "JSON data is missing property 'kind'",
+ );
+ }
+ $kind = $data['kind'];
+ if (!(is_string($kind))) {
+ throw new Exception(
+ "Expected property 'kind' in JSON data to be string, instead received " . get_debug_type($data['kind']),
+ );
+ }
+
+ $args['kind'] = $kind;
+ switch ($kind) {
+ case 'objectNumber':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToObjectNumber::jsonDeserialize($data);
+ break;
+ case 'nm':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToNm::jsonDeserialize($data);
+ break;
+ case 'index':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndex::jsonDeserialize($data);
+ break;
+ case '_unknown':
+ default:
+ $args['kind'] = '_unknown';
+ $args['value'] = $data;
+ }
+
+ // @phpstan-ignore-next-line
+ return new static($args);
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndex.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndex.php
new file mode 100644
index 0000000..99353d5
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndex.php
@@ -0,0 +1,50 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->index = $values['index'];
+ $this->revision = $values['revision'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndexRevision.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndexRevision.php
new file mode 100644
index 0000000..288dadf
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToIndexRevision.php
@@ -0,0 +1,50 @@
+docSessionId = $values['docSessionId'];
+ $this->pageObjectNumber = $values['pageObjectNumber'];
+ $this->generation = $values['generation'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToNm.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToNm.php
new file mode 100644
index 0000000..4db8689
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToNm.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->nm = $values['nm'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToObjectNumber.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToObjectNumber.php
new file mode 100644
index 0000000..8f2cc01
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentInReplyToObjectNumber.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->annotObjectNumber = $values['annotObjectNumber'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRect.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRect.php
new file mode 100644
index 0000000..0f4b661
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRect.php
@@ -0,0 +1,58 @@
+left = $values['left'];
+ $this->bottom = $values['bottom'];
+ $this->right = $values['right'];
+ $this->top = $values['top'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef.php
new file mode 100644
index 0000000..2f6f572
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef.php
@@ -0,0 +1,241 @@
+kind = $values['kind'];
+ $this->value = $values['value'];
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefObjectNumber $objectNumber
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef
+ */
+ public static function objectNumber(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefObjectNumber $objectNumber): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef([
+ 'kind' => 'objectNumber',
+ 'value' => $objectNumber,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefNm $nm
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef
+ */
+ public static function nm(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefNm $nm): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef([
+ 'kind' => 'nm',
+ 'value' => $nm,
+ ]);
+ }
+
+ /**
+ * @param DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndex $index
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef
+ */
+ public static function index(DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndex $index): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef
+ {
+ return new DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRef([
+ 'kind' => 'index',
+ 'value' => $index,
+ ]);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isObjectNumber(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefObjectNumber && $this->kind === 'objectNumber';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefObjectNumber
+ */
+ public function asObjectNumber(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefObjectNumber
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefObjectNumber && $this->kind === 'objectNumber')) {
+ throw new Exception(
+ "Expected objectNumber; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isNm(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefNm && $this->kind === 'nm';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefNm
+ */
+ public function asNm(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefNm
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefNm && $this->kind === 'nm')) {
+ throw new Exception(
+ "Expected nm; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isIndex(): bool
+ {
+ return $this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndex && $this->kind === 'index';
+ }
+
+ /**
+ * @return DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndex
+ */
+ public function asIndex(): DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndex
+ {
+ if (!($this->value instanceof DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndex && $this->kind === 'index')) {
+ throw new Exception(
+ "Expected index; got " . $this->kind . " with value of type " . get_debug_type($this->value),
+ );
+ }
+
+ return $this->value;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+
+ /**
+ * @return array
+ */
+ public function jsonSerialize(): array
+ {
+ $result = [];
+ $result['kind'] = $this->kind;
+
+ $base = parent::jsonSerialize();
+ $result = array_merge($base, $result);
+
+ switch ($this->kind) {
+ case 'objectNumber':
+ $value = $this->asObjectNumber()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'nm':
+ $value = $this->asNm()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case 'index':
+ $value = $this->asIndex()->jsonSerialize();
+ $result = array_merge($value, $result);
+ break;
+ case '_unknown':
+ default:
+ if (is_null($this->value)) {
+ break;
+ }
+ if ($this->value instanceof JsonSerializableType) {
+ $value = $this->value->jsonSerialize();
+ $result = array_merge($value, $result);
+ } elseif (is_array($this->value)) {
+ $result = array_merge($this->value, $result);
+ }
+ }
+
+ return $result;
+ }
+
+ /**
+ * @param array $data
+ */
+ public static function jsonDeserialize(array $data): static
+ {
+ $args = [];
+ if (!array_key_exists('kind', $data)) {
+ throw new Exception(
+ "JSON data is missing property 'kind'",
+ );
+ }
+ $kind = $data['kind'];
+ if (!(is_string($kind))) {
+ throw new Exception(
+ "Expected property 'kind' in JSON data to be string, instead received " . get_debug_type($data['kind']),
+ );
+ }
+
+ $args['kind'] = $kind;
+ switch ($kind) {
+ case 'objectNumber':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefObjectNumber::jsonDeserialize($data);
+ break;
+ case 'nm':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefNm::jsonDeserialize($data);
+ break;
+ case 'index':
+ $args['value'] = DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndex::jsonDeserialize($data);
+ break;
+ case '_unknown':
+ default:
+ $args['kind'] = '_unknown';
+ $args['value'] = $data;
+ }
+
+ // @phpstan-ignore-next-line
+ return new static($args);
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndex.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndex.php
new file mode 100644
index 0000000..378b12f
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndex.php
@@ -0,0 +1,50 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->index = $values['index'];
+ $this->revision = $values['revision'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndexRevision.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndexRevision.php
new file mode 100644
index 0000000..7b5c844
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefIndexRevision.php
@@ -0,0 +1,50 @@
+docSessionId = $values['docSessionId'];
+ $this->pageObjectNumber = $values['pageObjectNumber'];
+ $this->generation = $values['generation'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefNm.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefNm.php
new file mode 100644
index 0000000..5d7104c
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefNm.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->nm = $values['nm'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefObjectNumber.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefObjectNumber.php
new file mode 100644
index 0000000..9a942f1
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentRefObjectNumber.php
@@ -0,0 +1,42 @@
+pageObjectNumber = $values['pageObjectNumber'];
+ $this->annotObjectNumber = $values['annotObjectNumber'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentReplyType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentReplyType.php
new file mode 100644
index 0000000..cdb62a1
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFileAttachmentReplyType.php
@@ -0,0 +1,9 @@
+ $identityQuality
+ */
+ #[JsonProperty('identityQuality')]
+ public string $identityQuality;
+
+ /**
+ * @var ?string $nm
+ */
+ #[JsonProperty('nm')]
+ public ?string $nm;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextFlags $flags
+ */
+ #[JsonProperty('flags')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextFlags $flags;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextRect $rect
+ */
+ #[JsonProperty('rect')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextRect $rect;
+
+ /**
+ * @var ?string $contents
+ */
+ #[JsonProperty('contents')]
+ public ?string $contents;
+
+ /**
+ * @var ?string $subject
+ */
+ #[JsonProperty('subject')]
+ public ?string $subject;
+
+ /**
+ * @var ?string $author
+ */
+ #[JsonProperty('author')]
+ public ?string $author;
+
+ /**
+ * @var ?DateTime $created
+ */
+ #[JsonProperty('created'), Date(Date::TYPE_DATETIME)]
+ public ?DateTime $created;
+
+ /**
+ * @var ?DateTime $modified
+ */
+ #[JsonProperty('modified'), Date(Date::TYPE_DATETIME)]
+ public ?DateTime $modified;
+
+ /**
+ * @var value-of $blendMode
+ */
+ #[JsonProperty('blendMode')]
+ public string $blendMode;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextInReplyTo $inReplyTo
+ */
+ #[JsonProperty('inReplyTo')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextInReplyTo $inReplyTo;
+
+ /**
+ * @var ?value-of $replyType
+ */
+ #[JsonProperty('replyType')]
+ public ?string $replyType;
+
+ /**
+ * @var ?string $userId
+ */
+ #[JsonProperty('userId')]
+ public ?string $userId;
+
+ /**
+ * @var ?string $groupId
+ */
+ #[JsonProperty('groupId')]
+ public ?string $groupId;
+
+ /**
+ * @var ?string $createdBy
+ */
+ #[JsonProperty('createdBy')]
+ public ?string $createdBy;
+
+ /**
+ * @var ?string $updatedBy
+ */
+ #[JsonProperty('updatedBy')]
+ public ?string $updatedBy;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActions $actions
+ */
+ #[JsonProperty('actions')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActions $actions;
+
+ /**
+ * @var value-of $intent
+ */
+ #[JsonProperty('intent')]
+ public string $intent;
+
+ /**
+ * @var value-of $fontFamily
+ */
+ #[JsonProperty('fontFamily')]
+ public string $fontFamily;
+
+ /**
+ * @var float $fontSize
+ */
+ #[JsonProperty('fontSize')]
+ public float $fontSize;
+
+ /**
+ * @var value-of $textAlign
+ */
+ #[JsonProperty('textAlign')]
+ public string $textAlign;
+
+ /**
+ * @var DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextColor $color
+ */
+ #[JsonProperty('color')]
+ public DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextColor $color;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextFontColor $fontColor
+ */
+ #[JsonProperty('fontColor')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextFontColor $fontColor;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextInteriorColor $interiorColor
+ */
+ #[JsonProperty('interiorColor')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextInteriorColor $interiorColor;
+
+ /**
+ * @var float $opacity
+ */
+ #[JsonProperty('opacity')]
+ public float $opacity;
+
+ /**
+ * @var float $strokeWidth
+ */
+ #[JsonProperty('strokeWidth')]
+ public float $strokeWidth;
+
+ /**
+ * @var value-of $borderStyle
+ */
+ #[JsonProperty('borderStyle')]
+ public string $borderStyle;
+
+ /**
+ * @var ?array $dashArray
+ */
+ #[JsonProperty('dashArray'), ArrayType(['float'])]
+ public ?array $dashArray;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextRectDifferences $rectDifferences
+ */
+ #[JsonProperty('rectDifferences')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextRectDifferences $rectDifferences;
+
+ /**
+ * @var ?array $calloutLine
+ */
+ #[JsonProperty('calloutLine'), ArrayType(['mixed'])]
+ public ?array $calloutLine;
+
+ /**
+ * @var ?value-of $lineEnding
+ */
+ #[JsonProperty('lineEnding')]
+ public ?string $lineEnding;
+
+ /**
+ * @var ?float $rotation
+ */
+ #[JsonProperty('rotation')]
+ public ?float $rotation;
+
+ /**
+ * @var ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextUnrotatedRect $unrotatedRect
+ */
+ #[JsonProperty('unrotatedRect')]
+ public ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextUnrotatedRect $unrotatedRect;
+
+ /**
+ * @param array{
+ * ref: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextRef,
+ * pageObjectNumber: int,
+ * index: int,
+ * identityQuality: value-of,
+ * flags: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextFlags,
+ * rect: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextRect,
+ * blendMode: value-of,
+ * intent: value-of,
+ * fontFamily: value-of,
+ * fontSize: float,
+ * textAlign: value-of,
+ * color: DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextColor,
+ * opacity: float,
+ * strokeWidth: float,
+ * borderStyle: value-of,
+ * nm?: ?string,
+ * contents?: ?string,
+ * subject?: ?string,
+ * author?: ?string,
+ * created?: ?DateTime,
+ * modified?: ?DateTime,
+ * inReplyTo?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextInReplyTo,
+ * replyType?: ?value-of,
+ * userId?: ?string,
+ * groupId?: ?string,
+ * createdBy?: ?string,
+ * updatedBy?: ?string,
+ * actions?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActions,
+ * fontColor?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextFontColor,
+ * interiorColor?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextInteriorColor,
+ * dashArray?: ?array,
+ * rectDifferences?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextRectDifferences,
+ * calloutLine?: ?array,
+ * lineEnding?: ?value-of,
+ * rotation?: ?float,
+ * unrotatedRect?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextUnrotatedRect,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->ref = $values['ref'];
+ $this->pageObjectNumber = $values['pageObjectNumber'];
+ $this->index = $values['index'];
+ $this->identityQuality = $values['identityQuality'];
+ $this->nm = $values['nm'] ?? null;
+ $this->flags = $values['flags'];
+ $this->rect = $values['rect'];
+ $this->contents = $values['contents'] ?? null;
+ $this->subject = $values['subject'] ?? null;
+ $this->author = $values['author'] ?? null;
+ $this->created = $values['created'] ?? null;
+ $this->modified = $values['modified'] ?? null;
+ $this->blendMode = $values['blendMode'];
+ $this->inReplyTo = $values['inReplyTo'] ?? null;
+ $this->replyType = $values['replyType'] ?? null;
+ $this->userId = $values['userId'] ?? null;
+ $this->groupId = $values['groupId'] ?? null;
+ $this->createdBy = $values['createdBy'] ?? null;
+ $this->updatedBy = $values['updatedBy'] ?? null;
+ $this->actions = $values['actions'] ?? null;
+ $this->intent = $values['intent'];
+ $this->fontFamily = $values['fontFamily'];
+ $this->fontSize = $values['fontSize'];
+ $this->textAlign = $values['textAlign'];
+ $this->color = $values['color'];
+ $this->fontColor = $values['fontColor'] ?? null;
+ $this->interiorColor = $values['interiorColor'] ?? null;
+ $this->opacity = $values['opacity'];
+ $this->strokeWidth = $values['strokeWidth'];
+ $this->borderStyle = $values['borderStyle'];
+ $this->dashArray = $values['dashArray'] ?? null;
+ $this->rectDifferences = $values['rectDifferences'] ?? null;
+ $this->calloutLine = $values['calloutLine'] ?? null;
+ $this->lineEnding = $values['lineEnding'] ?? null;
+ $this->rotation = $values['rotation'] ?? null;
+ $this->unrotatedRect = $values['unrotatedRect'] ?? null;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActions.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActions.php
new file mode 100644
index 0000000..dcfac57
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActions.php
@@ -0,0 +1,114 @@
+activate = $values['activate'] ?? null;
+ $this->cursorEnter = $values['cursorEnter'] ?? null;
+ $this->cursorExit = $values['cursorExit'] ?? null;
+ $this->mouseDown = $values['mouseDown'] ?? null;
+ $this->mouseUp = $values['mouseUp'] ?? null;
+ $this->focus = $values['focus'] ?? null;
+ $this->blur = $values['blur'] ?? null;
+ $this->pageOpen = $values['pageOpen'] ?? null;
+ $this->pageClose = $values['pageClose'] ?? null;
+ $this->pageVisible = $values['pageVisible'] ?? null;
+ $this->pageInvisible = $values['pageInvisible'] ?? null;
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsActivate.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsActivate.php
new file mode 100644
index 0000000..3e447fd
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsActivate.php
@@ -0,0 +1,59 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsActivateRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsActivateRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsActivateRoot.php
new file mode 100644
index 0000000..3914621
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsActivateRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsActivateRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsActivateRootType.php
new file mode 100644
index 0000000..aace7c3
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsActivateRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsBlurRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsBlurRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsBlurRoot.php
new file mode 100644
index 0000000..99caf46
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsBlurRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsBlurRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsBlurRootType.php
new file mode 100644
index 0000000..65bffe6
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsBlurRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorEnterRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorEnterRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorEnterRoot.php
new file mode 100644
index 0000000..bbaf3da
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorEnterRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorEnterRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorEnterRootType.php
new file mode 100644
index 0000000..09fd4af
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorEnterRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorExitRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorExitRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorExitRoot.php
new file mode 100644
index 0000000..0baa8ad
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorExitRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorExitRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorExitRootType.php
new file mode 100644
index 0000000..31902cc
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsCursorExitRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsFocusRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsFocusRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsFocusRoot.php
new file mode 100644
index 0000000..65cede3
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsFocusRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsFocusRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsFocusRootType.php
new file mode 100644
index 0000000..70468a5
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsFocusRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseDownRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseDownRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseDownRoot.php
new file mode 100644
index 0000000..fc4eca5
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseDownRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseDownRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseDownRootType.php
new file mode 100644
index 0000000..e397dca
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseDownRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseUpRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseUpRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseUpRoot.php
new file mode 100644
index 0000000..02bdb8b
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseUpRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseUpRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseUpRootType.php
new file mode 100644
index 0000000..899a543
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsMouseUpRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageCloseRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageCloseRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageCloseRoot.php
new file mode 100644
index 0000000..fd4ddd6
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageCloseRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageCloseRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageCloseRootType.php
new file mode 100644
index 0000000..42ed2a2
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageCloseRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageInvisibleRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageInvisibleRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageInvisibleRoot.php
new file mode 100644
index 0000000..9f60f76
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageInvisibleRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageInvisibleRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageInvisibleRootType.php
new file mode 100644
index 0000000..a8d2edc
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageInvisibleRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array>,
+ * root?: ?DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageOpenRoot,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->root = $values['root'] ?? null;
+ $this->incomplete = $values['incomplete'];
+ $this->warningFlags = $values['warningFlags'];
+ $this->warnings = $values['warnings'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageOpenRoot.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageOpenRoot.php
new file mode 100644
index 0000000..2217f70
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageOpenRoot.php
@@ -0,0 +1,59 @@
+ $type
+ */
+ #[JsonProperty('type')]
+ public string $type;
+
+ /**
+ * @var string $subtype
+ */
+ #[JsonProperty('subtype')]
+ public string $subtype;
+
+ /**
+ * @var ?string $script
+ */
+ #[JsonProperty('script')]
+ public ?string $script;
+
+ /**
+ * @var array $next
+ */
+ #[JsonProperty('next'), ArrayType(['mixed'])]
+ public array $next;
+
+ /**
+ * @param array{
+ * type: value-of,
+ * subtype: string,
+ * next: array,
+ * script?: ?string,
+ * } $values
+ */
+ public function __construct(
+ array $values,
+ ) {
+ $this->type = $values['type'];
+ $this->subtype = $values['subtype'];
+ $this->script = $values['script'] ?? null;
+ $this->next = $values['next'];
+ }
+
+ /**
+ * @return string
+ */
+ public function __toString(): string
+ {
+ return $this->toJson();
+ }
+}
diff --git a/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageOpenRootType.php b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageOpenRootType.php
new file mode 100644
index 0000000..af5b7d3
--- /dev/null
+++ b/src/Types/DocAnnotationsListAll200ResponsePagesItemAnnotationsItemFreeTextActionsPageOpenRootType.php
@@ -0,0 +1,26 @@
+> $warnings
+ */
+ #[JsonProperty('warnings'), ArrayType(['string'])]
+ public array $warnings;
+
+ /**
+ * @param array{
+ * incomplete: bool,
+ * warningFlags: int,
+ * warnings: array