> ## Documentation Index
> Fetch the complete documentation index at: https://velt-codex-ui-customization-guide-refresh.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Public API Method Reference

> Reference Velt client element APIs and methods used by UI customizations.

<Note>
  **Source of truth: exhaustive for what it covers.** Generated from Velt API metadata. **If a name isn't on this page, it doesn't exist**: don't use it (a missing identifier resolves to `undefined` / renders nothing). Never invent or guess a name; use only identifiers that appear verbatim here or that you verified against ground truth and added here. *Scope: exhaustive per feature element over the public, customer-facing method surface (verbatim method names + parameter types; a few `any` returns are intentional). Comments + notifications are the in-scope focus; other feature elements are included for completeness.*
</Note>

Complete public API surface for every Velt feature element, as a customer calls them.

## How customers obtain an element

Every feature is accessed through its element getter on the Velt client. Get the client once, then ask it for the feature element you need:

```js theme={null}
// Vanilla / HTML SDK
const client = Velt; // the global injected by the SDK script
const commentElement = client.getCommentElement();
commentElement.resolveCommentAnnotation({ annotationId: '123' });

// React SDK exposes the same elements via hooks (e.g. useCommentUtils()),
// but the underlying method names/signatures below are identical.
```

The getter for each feature is listed in its section heading (e.g. `client.getCommentElement()`). `Velt.getXElement()` and `client.getXElement()` are equivalent.

> Signatures are the public, customer-facing API of each feature element (verbatim method names and parameter types). A few `any` return types are intentional on the public surface. Exhaustive per feature element.

***

## Feature elements

### Comments: `client.getCommentElement()`

Class: `CommentElement` (extends `InjectorElement`).

| Method                                                                                                   | Returns                                                   | Description                                                                                                                                              |
| -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `getAllCommentAnnotations(documentId?: string, location?: Location)`                                     | `Observable<CommentAnnotation[] \| null>`                 | Subscribe to comments on the current document.                                                                                                           |
| `deleteSelectedComment()`                                                                                | `Promise<any>`                                            | Delete the currently selected comment.                                                                                                                   |
| `enableTextComments()`                                                                                   | `any`                                                     | Enable text comment selection.                                                                                                                           |
| `disableTextComments()`                                                                                  | `any`                                                     | Disable text comment selection.                                                                                                                          |
| `allowedElementIds(elementIds: string[])`                                                                | `any`                                                     | Allow text selection in specific elements by id only.                                                                                                    |
| `allowedElementClassNames(classNames: string[])`                                                         | `any`                                                     | Allow text selection in specific elements by class name only.                                                                                            |
| `allowedElementQuerySelectors(querySelectors: string[])`                                                 | `any`                                                     | Allow text selection in specific elements by query selector only.                                                                                        |
| `enableFloatingCommentDialog()`                                                                          | `any`                                                     | Enable floating comment dialog.                                                                                                                          |
| `disableFloatingCommentDialog()`                                                                         | `any`                                                     | Disable floating comments (enabled by default).                                                                                                          |
| `attachComment(elementId: string)`                                                                       | `any`                                                     | Attach comments to a specific html element by id.                                                                                                        |
| `openCommentSidebar()`                                                                                   | `any`                                                     | Open the comment sidebar.                                                                                                                                |
| `closeCommentSidebar()`                                                                                  | `any`                                                     | Close the comment sidebar.                                                                                                                               |
| `toggleCommentSidebar()`                                                                                 | `any`                                                     | Toggle the comment sidebar.                                                                                                                              |
| `enableModeratorMode()`                                                                                  | `any`                                                     | Enable moderator mode.                                                                                                                                   |
| `disableModeratorMode()`                                                                                 | `any`                                                     | Disable moderator mode.                                                                                                                                  |
| `enableStreamMode()`                                                                                     | `any`                                                     | Enable stream mode.                                                                                                                                      |
| `disableStreamMode()`                                                                                    | `any`                                                     | Disable stream mode.                                                                                                                                     |
| `enableSignInButton()`                                                                                   | `any`                                                     | Show sign in button in comments if user is signed out.                                                                                                   |
| `disableSignInButton()`                                                                                  | `any`                                                     | Hide sign in button in comments if user is signed out.                                                                                                   |
| `enableUpgradeButton()`                                                                                  | `any`                                                     | Show upgrade button in comments when plan is expired.                                                                                                    |
| `disableUpgradeButton()`                                                                                 | `any`                                                     | Hide upgrade button in comments when plan is expired.                                                                                                    |
| `onCommentModeChange()`                                                                                  | `Observable<boolean>`                                     | Subscribe to add-comment-mode change.                                                                                                                    |
| `enableAttachments()`                                                                                    | `any`                                                     | Enable adding attachments in comments.                                                                                                                   |
| `disableAttachments()`                                                                                   | `any`                                                     | Disable adding attachments in comments.                                                                                                                  |
| `enableAttachmentDownload()`                                                                             | `any`                                                     | Enable downloading comment attachments.                                                                                                                  |
| `disableAttachmentDownload()`                                                                            | `any`                                                     | Disable downloading comment attachments.                                                                                                                 |
| `isUserGlobalContact()`                                                                                  | `Observable<boolean>`                                     | Get whether the user is part of the global contact list.                                                                                                 |
| `enableDeviceInfo()`                                                                                     | `any`                                                     | Show device/screen-size info in comments.                                                                                                                |
| `disableDeviceInfo()`                                                                                    | `any`                                                     | Hide device/screen-size info in comments.                                                                                                                |
| `enableCommentMode()`                                                                                    | `any`                                                     | Enable comment mode to add comments.                                                                                                                     |
| `disableCommentMode()`                                                                                   | `any`                                                     | Disable comment mode.                                                                                                                                    |
| `enablePersistentCommentMode()`                                                                          | `any`                                                     | Enable persistent comment mode.                                                                                                                          |
| `disablePersistentCommentMode()`                                                                         | `any`                                                     | Disable persistent comment mode.                                                                                                                         |
| `enableCommentIndex()`                                                                                   | `any`                                                     | Show comment number/index.                                                                                                                               |
| `disableCommentIndex()`                                                                                  | `any`                                                     | Hide comment number/index.                                                                                                                               |
| `enablePopoverMode()`                                                                                    | `any`                                                     | Enable popover mode.                                                                                                                                     |
| `disablePopoverMode()`                                                                                   | `any`                                                     | Disable popover mode.                                                                                                                                    |
| `enablePopoverTriangleComponent()`                                                                       | `any`                                                     | Enable the popover triangle component.                                                                                                                   |
| `disablePopoverTriangleComponent()`                                                                      | `any`                                                     | Disable the popover triangle component.                                                                                                                  |
| `enableDialogOnHover()`                                                                                  | `any`                                                     | Open the comment dialog on hover.                                                                                                                        |
| `disableDialogOnHover()`                                                                                 | `any`                                                     | Disable opening the comment dialog on hover.                                                                                                             |
| `enableDialogOnTargetElementClick()`                                                                     | `any`                                                     | Open the comment dialog on target element click.                                                                                                         |
| `disableDialogOnTargetElementClick()`                                                                    | `any`                                                     | Disable opening the comment dialog on target element click.                                                                                              |
| `enablePriority()`                                                                                       | `any`                                                     | Enable comment priority.                                                                                                                                 |
| `disablePriority()`                                                                                      | `any`                                                     | Disable comment priority.                                                                                                                                |
| `enableStatus()`                                                                                         | `any`                                                     | Enable comment status.                                                                                                                                   |
| `disableStatus()`                                                                                        | `any`                                                     | Disable comment status.                                                                                                                                  |
| `enableVisibilityOptions()`                                                                              | `any`                                                     | Enable comment visibility options.                                                                                                                       |
| `disableVisibilityOptions()`                                                                             | `any`                                                     | Disable comment visibility options.                                                                                                                      |
| `enableResolveButton()`                                                                                  | `any`                                                     | Enable the resolve button.                                                                                                                               |
| `disableResolveButton()`                                                                                 | `any`                                                     | Disable the resolve button.                                                                                                                              |
| `enableGhostComments()`                                                                                  | `any`                                                     | Enable ghost comments.                                                                                                                                   |
| `disableGhostComments()`                                                                                 | `any`                                                     | Disable ghost comments.                                                                                                                                  |
| `enableGhostCommentsIndicator()`                                                                         | `any`                                                     | Enable the ghost comments indicator.                                                                                                                     |
| `disableGhostCommentsIndicator()`                                                                        | `any`                                                     | Disable the ghost comments indicator.                                                                                                                    |
| `setCustomStatus(statuses: CustomStatus[])`                                                              | `void`                                                    | Set custom comment statuses.                                                                                                                             |
| `setCustomPriority(priorities: CustomPriority[])`                                                        | `void`                                                    | Set custom comment priorities.                                                                                                                           |
| `setCustomCategory(categories: CustomCategory[])`                                                        | `void`                                                    | Set custom comment categories.                                                                                                                           |
| `enableInboxMode()`                                                                                      | `any`                                                     | Enable inbox mode.                                                                                                                                       |
| `disableInboxMode()`                                                                                     | `any`                                                     | Disable inbox mode.                                                                                                                                      |
| `enableAutoCategorize()`                                                                                 | `any`                                                     | Enable auto-categorize.                                                                                                                                  |
| `disableAutoCategorize()`                                                                                | `any`                                                     | Disable auto-categorize.                                                                                                                                 |
| `enableDarkMode()`                                                                                       | `any`                                                     | Enable dark mode.                                                                                                                                        |
| `disableDarkMode()`                                                                                      | `any`                                                     | Disable dark mode.                                                                                                                                       |
| `setContextProvider(provider: CommentContextProvider \| null)`                                           | `void`                                                    | Set the comment context provider.                                                                                                                        |
| `enableSuggestionMode()`                                                                                 | `any`                                                     | Enable suggestion mode.                                                                                                                                  |
| `disableSuggestionMode()`                                                                                | `any`                                                     | Disable suggestion mode.                                                                                                                                 |
| `enableMobileMode()`                                                                                     | `any`                                                     | Enable mobile mode.                                                                                                                                      |
| `disableMobileMode()`                                                                                    | `any`                                                     | Disable mobile mode.                                                                                                                                     |
| `enableInlineCommentMode()`                                                                              | `any`                                                     | Enable inline comment mode.                                                                                                                              |
| `disableInlineCommentMode()`                                                                             | `any`                                                     | Disable inline comment mode.                                                                                                                             |
| `enableMinimap()`                                                                                        | `any`                                                     | Enable the minimap.                                                                                                                                      |
| `disableMinimap()`                                                                                       | `any`                                                     | Disable the minimap.                                                                                                                                     |
| `showCommentsOnDom()`                                                                                    | `any`                                                     | Show comment pins on the DOM.                                                                                                                            |
| `hideCommentsOnDom()`                                                                                    | `any`                                                     | Hide comment pins on the DOM.                                                                                                                            |
| `enableCommentTool()`                                                                                    | `any`                                                     | Enable the comment tool.                                                                                                                                 |
| `disableCommentTool()`                                                                                   | `any`                                                     | Disable the comment tool.                                                                                                                                |
| `setTotalMediaLength(totalMediaLength: number)`                                                          | `void`                                                    | Set the total media length (for media comments).                                                                                                         |
| `onCommentAdd()`                                                                                         | `Observable<CommentAddEventData>`                         | *(legacy: use the `AddCommentAnnotation` event instead)* Subscribe to comment-add events.                                                                |
| `onCommentUpdate()`                                                                                      | `Observable<CommentUpdateEventData>`                      | *(legacy: use action-specific events instead)* Subscribe to comment-update events.                                                                       |
| `addCommentOnSelectedText()`                                                                             | `any`                                                     | Add a comment on the currently selected text.                                                                                                            |
| `enableSidebarUrlNavigation()`                                                                           | `void`                                                    | Enable sidebar URL navigation.                                                                                                                           |
| `disableSidebarUrlNavigation()`                                                                          | `void`                                                    | Disable sidebar URL navigation.                                                                                                                          |
| `setDStrategy(strategy: DetectionStrategy)`                                                              | `void`                                                    | Set the detection strategy.                                                                                                                              |
| `enableSidebarButtonOnCommentDialog()`                                                                   | `void`                                                    | Show the sidebar button on the comment dialog.                                                                                                           |
| `disableSidebarButtonOnCommentDialog()`                                                                  | `void`                                                    | Hide the sidebar button on the comment dialog.                                                                                                           |
| `onSidebarButtonOnCommentDialogClick()`                                                                  | `Observable<any>`                                         | Subscribe to clicks on the sidebar button in the comment dialog.                                                                                         |
| `enableReactions()`                                                                                      | `void`                                                    | Enable reactions.                                                                                                                                        |
| `disableReactions()`                                                                                     | `void`                                                    | Disable reactions.                                                                                                                                       |
| `enableAnonymousEmail()`                                                                                 | `void`                                                    | Enable anonymous email.                                                                                                                                  |
| `disableAnonymousEmail()`                                                                                | `void`                                                    | Disable anonymous email.                                                                                                                                 |
| `setRecordings(allowedRecordings: string \| string[])`                                                   | `void`                                                    | Set allowed recordings.                                                                                                                                  |
| `addCommentOnElement(data: CommentOnElementConfig)`                                                      | `void`                                                    | Add a comment on a specific element.                                                                                                                     |
| `enablePrivateCommentMode()`                                                                             | `void`                                                    | *(deprecated)* Enable private comment mode.                                                                                                              |
| `disablePrivateCommentMode()`                                                                            | `void`                                                    | *(deprecated)* Disable private comment mode.                                                                                                             |
| `enablePrivateMode(config: PrivateModeConfig)`                                                           | `void`                                                    | Enable private mode with config.                                                                                                                         |
| `disablePrivateMode()`                                                                                   | `void`                                                    | Disable private mode.                                                                                                                                    |
| `enableScrollToComment()`                                                                                | `void`                                                    | Enable scroll-to-comment.                                                                                                                                |
| `disableScrollToComment()`                                                                               | `void`                                                    | Disable scroll-to-comment.                                                                                                                               |
| `enableUserMentions()`                                                                                   | `void`                                                    | Enable user mentions.                                                                                                                                    |
| `disableUserMentions()`                                                                                  | `void`                                                    | Disable user mentions.                                                                                                                                   |
| `setCommentSidebarFilters(filters: CommentSidebarFilters)`                                               | `void`                                                    | Set comment sidebar filters.                                                                                                                             |
| `setSystemFiltersOperator(operator: CommentSidebarSystemFiltersOperator)`                                | `void`                                                    | Set the system filters operator.                                                                                                                         |
| `enableCommentPinHighlighter()`                                                                          | `void`                                                    | Enable the comment pin highlighter.                                                                                                                      |
| `disableCommentPinHighlighter()`                                                                         | `void`                                                    | Disable the comment pin highlighter.                                                                                                                     |
| `enableDeleteOnBackspace()`                                                                              | `void`                                                    | Enable delete on backspace.                                                                                                                              |
| `disableDeleteOnBackspace()`                                                                             | `void`                                                    | Disable delete on backspace.                                                                                                                             |
| `enableHotkey()`                                                                                         | `void`                                                    | Enable hotkey.                                                                                                                                           |
| `disableHotkey()`                                                                                        | `void`                                                    | Disable hotkey.                                                                                                                                          |
| `enableDeviceIndicatorOnCommentPins()`                                                                   | `void`                                                    | Enable device indicator on comment pins.                                                                                                                 |
| `disableDeviceIndicatorOnCommentPins()`                                                                  | `void`                                                    | Disable device indicator on comment pins.                                                                                                                |
| `getElementRefByAnnotationId(annotationId: string)`                                                      | `{ xpath: string } \| undefined`                          | Get an element reference (xpath) by annotation id.                                                                                                       |
| `scrollToCommentByAnnotationId(annotationId: string)`                                                    | `void`                                                    | Scroll to a comment by annotation id.                                                                                                                    |
| `selectCommentByAnnotationId(annotationId?: string)`                                                     | `void`                                                    | Select a comment by annotation id.                                                                                                                       |
| `enableRecordingSummary()`                                                                               | `void`                                                    | *(deprecated: use `enableRecordingTranscription`)* Enable recording summary.                                                                             |
| `disableRecordingSummary()`                                                                              | `void`                                                    | *(deprecated: use `disableRecordingTranscription`)* Disable recording summary.                                                                           |
| `enableRecordingTranscription()`                                                                         | `void`                                                    | Enable recording transcription.                                                                                                                          |
| `disableRecordingTranscription()`                                                                        | `void`                                                    | Disable recording transcription.                                                                                                                         |
| `enableRecordingCountdown()`                                                                             | `void`                                                    | Enable recording countdown.                                                                                                                              |
| `disableRecordingCountdown()`                                                                            | `void`                                                    | Disable recording countdown.                                                                                                                             |
| `setUnreadIndicatorMode(mode: UnreadIndicatorMode)`                                                      | `void`                                                    | Set the unread indicator mode.                                                                                                                           |
| `enableEnterKeyToSubmit()`                                                                               | `void`                                                    | Enable Enter key to submit.                                                                                                                              |
| `disableEnterKeyToSubmit()`                                                                              | `void`                                                    | Disable Enter key to submit.                                                                                                                             |
| `enablePinShadowDOM()`                                                                                   | `void`                                                    | Enable Shadow DOM for pins.                                                                                                                              |
| `disablePinShadowDOM()`                                                                                  | `void`                                                    | Disable Shadow DOM for pins.                                                                                                                             |
| `enableDialogShadowDOM()`                                                                                | `void`                                                    | Enable Shadow DOM for the dialog.                                                                                                                        |
| `disableDialogShadowDOM()`                                                                               | `void`                                                    | Disable Shadow DOM for the dialog.                                                                                                                       |
| `enableSidebarShadowDOM()`                                                                               | `void`                                                    | Enable Shadow DOM for the sidebar.                                                                                                                       |
| `disableSidebarShadowDOM()`                                                                              | `void`                                                    | Disable Shadow DOM for the sidebar.                                                                                                                      |
| `enableChangeDetectionInCommentMode()`                                                                   | `void`                                                    | Enable change detection in comment mode.                                                                                                                 |
| `disableChangeDetectionInCommentMode()`                                                                  | `void`                                                    | Disable change detection in comment mode.                                                                                                                |
| `showResolvedCommentsOnDom()`                                                                            | `void`                                                    | Show resolved comments on the DOM.                                                                                                                       |
| `hideResolvedCommentsOnDom()`                                                                            | `void`                                                    | Hide resolved comments on the DOM.                                                                                                                       |
| `setCustomReactions(reactions: ReactionMap)`                                                             | `void`                                                    | Set custom reactions.                                                                                                                                    |
| `onCommentSelectionChange()`                                                                             | `Observable<CommentSelectionChangeData \| null>`          | Subscribe to comment selection changes.                                                                                                                  |
| `getUnreadCommentCountByAnnotationId(commentAnnotationId: string)`                                       | `Observable<UnreadCommentsCount>`                         | Get unread comment count by annotation id.                                                                                                               |
| `getUnreadCommentAnnotationCountOnCurrentDocument()`                                                     | `Observable<UnreadCommentsCount>`                         | Get unread comment-annotation count on the current document.                                                                                             |
| `getUnreadCommentCountOnCurrentDocument()`                                                               | `Observable<UnreadCommentsCount>`                         | Get unread comment count on the current document.                                                                                                        |
| `getUnreadCommentAnnotationCountByLocationId(locationId: string)`                                        | `Observable<UnreadCommentsCount>`                         | Get unread comment-annotation count by location id.                                                                                                      |
| `getUnreadCommentCountByLocationId(locationId: string)`                                                  | `Observable<UnreadCommentsCount>`                         | Get unread comment count by location id.                                                                                                                 |
| `updateCommentDialogPosition()`                                                                          | `void`                                                    | Update the comment dialog position.                                                                                                                      |
| `enableAreaComment()`                                                                                    | `void`                                                    | Enable area comments.                                                                                                                                    |
| `disableAreaComment()`                                                                                   | `void`                                                    | Disable area comments.                                                                                                                                   |
| `setPinCursorImage(image: string)`                                                                       | `void`                                                    | Set the pin cursor image.                                                                                                                                |
| `addManualComment(config: ManualCommentAnnotationConfig)`                                                | `Promise<any>`                                            | Add a manual comment annotation.                                                                                                                         |
| `createCustomListDataOnAnnotation(data: CustomAnnotationDropdownData)`                                   | `void`                                                    | Create custom list/dropdown data on an annotation.                                                                                                       |
| `createCustomListDataOnComment(data: AutocompleteData)`                                                  | `void`                                                    | Create custom list/autocomplete data on a comment.                                                                                                       |
| `excludeLocationIdsFromSidebar(locationIds: string[])`                                                   | `void`                                                    | Exclude location ids from the sidebar.                                                                                                                   |
| `enableBubbleOnPin()`                                                                                    | `void`                                                    | Enable bubble on pin.                                                                                                                                    |
| `disableBubbleOnPin()`                                                                                   | `void`                                                    | Disable bubble on pin.                                                                                                                                   |
| `enableBubbleOnPinHover()`                                                                               | `void`                                                    | Enable bubble on pin hover.                                                                                                                              |
| `disableBubbleOnPinHover()`                                                                              | `void`                                                    | Disable bubble on pin hover.                                                                                                                             |
| `enablePinDrag()`                                                                                        | `void`                                                    | Enable pin drag.                                                                                                                                         |
| `disablePinDrag()`                                                                                       | `void`                                                    | Disable pin drag.                                                                                                                                        |
| `enableMultiThreadMode()`                                                                                | `void`                                                    | Enable multi-thread mode.                                                                                                                                |
| `disableMultiThreadMode()`                                                                               | `void`                                                    | Disable multi-thread mode.                                                                                                                               |
| `enableGroupMultipleMatch()`                                                                             | `void`                                                    | *(deprecated: use `enableGroupMatchedComments`)* Enable grouping of multiple matches.                                                                    |
| `disableGroupMultipleMatch()`                                                                            | `void`                                                    | *(deprecated: use `disableGroupMatchedComments`)* Disable grouping of multiple matches.                                                                  |
| `enableGroupMatchedComments()`                                                                           | `void`                                                    | Enable grouping of matched comments.                                                                                                                     |
| `disableGroupMatchedComments()`                                                                          | `void`                                                    | Disable grouping of matched comments.                                                                                                                    |
| `enableMultiThread()`                                                                                    | `void`                                                    | Enable multi-thread.                                                                                                                                     |
| `disableMultiThread()`                                                                                   | `void`                                                    | Disable multi-thread.                                                                                                                                    |
| `updateContext(annotationId: string, context: any, config?: UpdateContextConfig)`                        | `Promise<any>`                                            | Update the context of an annotation.                                                                                                                     |
| `updateVisibility(visibility: CommentVisibilityConfig)`                                                  | `Promise<any>`                                            | Update comment visibility.                                                                                                                               |
| `getSelectedComments()`                                                                                  | `Observable<CommentAnnotation[]>`                         | Get the currently selected comments.                                                                                                                     |
| `enableDeleteReplyConfirmation()`                                                                        | `void`                                                    | Enable delete-reply confirmation.                                                                                                                        |
| `disableDeleteReplyConfirmation()`                                                                       | `void`                                                    | Disable delete-reply confirmation.                                                                                                                       |
| `onCopyLink()`                                                                                           | `Observable<string>`                                      | Subscribe to copy-link events.                                                                                                                           |
| `getCommentAnnotationById(config: { annotationId: string, documentId?: string })`                        | `Observable<CommentAnnotation \| null>`                   | Get a comment annotation by id.                                                                                                                          |
| `enableCollapsedComments()`                                                                              | `void`                                                    | Enable collapsed comments.                                                                                                                               |
| `disableCollapsedComments()`                                                                             | `void`                                                    | Disable collapsed comments.                                                                                                                              |
| `enableCollapsedRepliesPreview()`                                                                        | `void`                                                    | Enable collapsed replies preview.                                                                                                                        |
| `disableCollapsedRepliesPreview()`                                                                       | `void`                                                    | Disable collapsed replies preview.                                                                                                                       |
| `onCommentSidebarActionButtonClick()`                                                                    | `Observable<CommentSidebarCustomActionEventData \| null>` | Subscribe to comment sidebar action-button clicks.                                                                                                       |
| `setCommentSidebarData(data: CommentSidebarData[], options?: CommentSidebarDataOptions)`                 | `void`                                                    | Set comment sidebar data.                                                                                                                                |
| `onCommentSidebarInit()`                                                                                 | `Observable<CommentSidebarCustomActionEventData \| null>` | Subscribe to comment sidebar init.                                                                                                                       |
| `onCommentSidebarData()`                                                                                 | `Observable<CommentSidebarCustomActionEventData \| null>` | Subscribe to comment sidebar data.                                                                                                                       |
| `setCommentSidebarDefaultCustomActions(data: CommentSidebarCustomActionsState)`                          | `void`                                                    | Set default custom actions for the comment sidebar.                                                                                                      |
| `enableSidebarCustomActions()`                                                                           | `void`                                                    | Enable sidebar custom actions.                                                                                                                           |
| `disableSidebarCustomActions()`                                                                          | `void`                                                    | Disable sidebar custom actions.                                                                                                                          |
| `enableQueryParamsComments()`                                                                            | `void`                                                    | Enable query-params comments.                                                                                                                            |
| `disableQueryParamsComments()`                                                                           | `void`                                                    | Disable query-params comments.                                                                                                                           |
| `enableResolveStatusAccessAdminOnly()`                                                                   | `void`                                                    | Restrict resolve-status access to admins only.                                                                                                           |
| `disableResolveStatusAccessAdminOnly()`                                                                  | `void`                                                    | Remove the admin-only restriction on resolve-status access.                                                                                              |
| `enableLinkCallback()`                                                                                   | `void`                                                    | Enable link callback.                                                                                                                                    |
| `disableLinkCallback()`                                                                                  | `void`                                                    | Disable link callback.                                                                                                                                   |
| `enableSeenByUsers()`                                                                                    | `void`                                                    | Enable seen-by users.                                                                                                                                    |
| `disableSeenByUsers()`                                                                                   | `void`                                                    | Disable seen-by users.                                                                                                                                   |
| `enableShortUserName()`                                                                                  | `void`                                                    | Enable short user name.                                                                                                                                  |
| `disableShortUserName()`                                                                                 | `void`                                                    | Disable short user name.                                                                                                                                 |
| `enableReadOnly()`                                                                                       | `void`                                                    | Enable read-only mode.                                                                                                                                   |
| `disableReadOnly()`                                                                                      | `void`                                                    | Disable read-only mode.                                                                                                                                  |
| `setAssignToType(config: AssignToConfig)`                                                                | `void`                                                    | Set the assign-to type.                                                                                                                                  |
| `enableContextInPageModeComposer()`                                                                      | `void`                                                    | Enable context in the page-mode composer.                                                                                                                |
| `disableContextInPageModeComposer()`                                                                     | `void`                                                    | Disable context in the page-mode composer.                                                                                                               |
| `clearPageModeComposerContext()`                                                                         | `void`                                                    | Clear the page-mode composer context.                                                                                                                    |
| `setContextInPageModeComposer(config: PageModeComposerConfig \| null)`                                   | `void`                                                    | Set context in the page-mode composer.                                                                                                                   |
| `focusPageModeComposer()`                                                                                | `void`                                                    | Focus the page-mode composer.                                                                                                                            |
| `addCommentAnnotation(addCommentAnnotationRequest: AddCommentAnnotationRequest)`                         | `Promise<AddCommentAnnotationEvent \| null>`              | Add a comment annotation.                                                                                                                                |
| `approveCommentAnnotation(approveCommentAnnotationRequest: ApproveCommentAnnotationRequest)`             | `Promise<ApproveCommentAnnotationEvent \| null>`          | Approve a comment annotation.                                                                                                                            |
| `acceptCommentAnnotation(acceptCommentAnnotationRequest: AcceptCommentAnnotationRequest)`                | `Promise<AcceptCommentAnnotationEvent \| null>`           | Accept a comment annotation.                                                                                                                             |
| `rejectCommentAnnotation(rejectCommentAnnotationRequest: RejectCommentAnnotationRequest)`                | `Promise<RejectCommentAnnotationEvent \| null>`           | Reject a comment annotation.                                                                                                                             |
| `subscribeCommentAnnotation(subscribeCommentAnnotationRequest: SubscribeCommentAnnotationRequest)`       | `Promise<SubscribeCommentAnnotationEvent \| null>`        | Subscribe to a comment annotation.                                                                                                                       |
| `unsubscribeCommentAnnotation(unsubscribeCommentAnnotationRequest: UnsubscribeCommentAnnotationRequest)` | `Promise<UnsubscribeCommentAnnotationEvent \| null>`      | Unsubscribe from a comment annotation.                                                                                                                   |
| `deleteCommentAnnotation(deleteCommentAnnotationRequest: DeleteCommentAnnotationRequest)`                | `Promise<DeleteCommentAnnotationEvent \| null>`           | Delete a comment annotation.                                                                                                                             |
| `getCommentAnnotations(query?: CommentRequestQuery)`                                                     | `Observable<GetCommentAnnotationsResponse>`               | Get comment annotations matching a query.                                                                                                                |
| `getCommentAnnotationsCount(query?: CommentRequestQuery)`                                                | `Observable<GetCommentAnnotationsCountResponse>`          | Get the count of comment annotations matching a query.                                                                                                   |
| `assignUser(assignUserRequest: AssignUserRequest)`                                                       | `Promise<AssignUserEvent \| null>`                        | Assign a user to a comment.                                                                                                                              |
| `updatePriority(updatePriorityRequest: UpdatePriorityRequest)`                                           | `Promise<UpdatePriorityEvent \| null>`                    | Update comment priority.                                                                                                                                 |
| `updateStatus(updateStatusRequest: UpdateStatusRequest)`                                                 | `Promise<UpdateStatusEvent \| null>`                      | Update comment status.                                                                                                                                   |
| `updateAccess(updateAccessRequest: UpdateAccessRequest)`                                                 | `Promise<UpdateAccessEvent \| null>`                      | *(deprecated)* Update comment access.                                                                                                                    |
| `resolveCommentAnnotation(resolveCommentAnnotationRequest: ResolveCommentAnnotationRequest)`             | `Promise<any>`                                            | Resolve a comment annotation.                                                                                                                            |
| `getLink(getLinkRequest: GetLinkRequest)`                                                                | `Promise<GetLinkResponse \| null>`                        | Get a link to a comment.                                                                                                                                 |
| `copyLink(copyLinkRequest: CopyLinkRequest)`                                                             | `Promise<CopyLinkEvent \| null>`                          | Copy a link to a comment.                                                                                                                                |
| `addComment(addCommentRequest: AddCommentRequest)`                                                       | `Promise<AddCommentEvent \| null>`                        | Add a comment (reply) to an annotation.                                                                                                                  |
| `updateComment(updateCommentRequest: UpdateCommentRequest)`                                              | `Promise<UpdateCommentEvent \| null>`                     | Update a comment.                                                                                                                                        |
| `deleteComment(deleteCommentRequest: DeleteCommentRequest)`                                              | `Promise<DeleteCommentEvent \| null>`                     | Delete a comment.                                                                                                                                        |
| `getComment(getCommentRequest: GetCommentRequest)`                                                       | `Promise<Comment[]>`                                      | Get comments.                                                                                                                                            |
| `addAttachment(addAttachmentRequest: AddAttachmentRequest)`                                              | `Promise<AddAttachmentResponse[]>`                        | Add an attachment.                                                                                                                                       |
| `deleteAttachment(deleteAttachmentRequest: DeleteAttachmentRequest)`                                     | `Promise<DeleteAttachmentEvent \| null>`                  | Delete an attachment.                                                                                                                                    |
| `getAttachment(getAttachmentRequest: GetAttachmentRequest)`                                              | `Promise<Attachment[]>`                                   | Get attachments.                                                                                                                                         |
| `deleteRecording(deleteRecordingRequest: DeleteRecordingRequest)`                                        | `Promise<DeleteRecordingEvent \| null>`                   | Delete a recording.                                                                                                                                      |
| `getRecording(getRecordingRequest: GetRecordingRequest)`                                                 | `Promise<RecordedData[]>`                                 | Get recordings.                                                                                                                                          |
| `addReaction(addReactionRequest: AddReactionRequest)`                                                    | `Promise<AddReactionEvent \| null>`                       | Add a reaction.                                                                                                                                          |
| `deleteReaction(deleteReactionRequest: DeleteReactionRequest)`                                           | `Promise<DeleteReactionEvent \| null>`                    | Delete a reaction.                                                                                                                                       |
| `toggleReaction(toggleReactionRequest: ToggleReactionRequest)`                                           | `Promise<ToggleReactionEvent \| null>`                    | Toggle a reaction.                                                                                                                                       |
| `enableCustomAutocompleteSearch()`                                                                       | `void`                                                    | Enable custom autocomplete search.                                                                                                                       |
| `disableCustomAutocompleteSearch()`                                                                      | `void`                                                    | Disable custom autocomplete search.                                                                                                                      |
| `fetchCommentAnnotations(fetchCommentAnnotationsRequest: FetchCommentAnnotationsRequest)`                | `Promise<FetchCommentAnnotationsResponse>`                | Fetch comment annotations.                                                                                                                               |
| `setTransformContext(transformContext: TransformContext \| null)`                                        | `void`                                                    | Set the transform context.                                                                                                                               |
| `enableSvgAsImg()`                                                                                       | `void`                                                    | Render SVGs as images.                                                                                                                                   |
| `disableSvgAsImg()`                                                                                      | `void`                                                    | Stop rendering SVGs as images.                                                                                                                           |
| `enableFullExpanded()`                                                                                   | `void`                                                    | Enable full-expanded mode.                                                                                                                               |
| `disableFullExpanded()`                                                                                  | `void`                                                    | Disable full-expanded mode.                                                                                                                              |
| `enableCommentToNearestAllowedElement()`                                                                 | `void`                                                    | Enable commenting on the nearest allowed element.                                                                                                        |
| `disableCommentToNearestAllowedElement()`                                                                | `void`                                                    | Disable commenting on the nearest allowed element.                                                                                                       |
| `enableDraftMode()`                                                                                      | `void`                                                    | Enable draft mode.                                                                                                                                       |
| `disableDraftMode()`                                                                                     | `void`                                                    | Disable draft mode.                                                                                                                                      |
| `enableFilterCommentsOnDom()`                                                                            | `void`                                                    | Enable filtering comments on the DOM.                                                                                                                    |
| `disableFilterCommentsOnDom()`                                                                           | `void`                                                    | Disable filtering comments on the DOM.                                                                                                                   |
| `enableReplyAvatars()`                                                                                   | `void`                                                    | Enable reply avatars.                                                                                                                                    |
| `disableReplyAvatars()`                                                                                  | `void`                                                    | Disable reply avatars.                                                                                                                                   |
| `setMaxReplyAvatars(maxReplyAvatars: number)`                                                            | `void`                                                    | Set the maximum number of reply avatars.                                                                                                                 |
| `setSidebarButtonCountType(type: SidebarButtonCountType)`                                                | `void`                                                    | Set the sidebar button count type.                                                                                                                       |
| `enableFilterGhostCommentsInSidebar()`                                                                   | `void`                                                    | Enable filtering ghost comments in the sidebar.                                                                                                          |
| `disableFilterGhostCommentsInSidebar()`                                                                  | `void`                                                    | Disable filtering ghost comments in the sidebar.                                                                                                         |
| `enableFullScreenInSidebar()`                                                                            | `void`                                                    | Enable full-screen in the sidebar.                                                                                                                       |
| `disableFullScreenInSidebar()`                                                                           | `void`                                                    | Disable full-screen in the sidebar.                                                                                                                      |
| `setComposerFileAttachments(data: UploadFileData)`                                                       | `void`                                                    | Set composer file attachments.                                                                                                                           |
| `setAllowedFileTypes(allowedFileTypes: string[])`                                                        | `void`                                                    | Set allowed file types for attachments.                                                                                                                  |
| `enableForceCloseAllOnEsc()`                                                                             | `void`                                                    | Enable force-close-all on Esc.                                                                                                                           |
| `disableForceCloseAllOnEsc()`                                                                            | `void`                                                    | Disable force-close-all on Esc.                                                                                                                          |
| `markAsRead(annotationId: string)`                                                                       | `Promise<void>`                                           | Mark an annotation as read.                                                                                                                              |
| `markAsUnread(annotationId: string)`                                                                     | `Promise<void>`                                           | Mark an annotation as unread.                                                                                                                            |
| `enableScreenshot()`                                                                                     | `void`                                                    | Enable screenshot.                                                                                                                                       |
| `disableScreenshot()`                                                                                    | `void`                                                    | Disable screenshot.                                                                                                                                      |
| `enablePaginatedContactList()`                                                                           | `void`                                                    | Enable paginated contact list.                                                                                                                           |
| `disablePaginatedContactList()`                                                                          | `void`                                                    | Disable paginated contact list.                                                                                                                          |
| `enableFormatOptions()`                                                                                  | `void`                                                    | Enable text format options.                                                                                                                              |
| `disableFormatOptions()`                                                                                 | `void`                                                    | Disable text format options.                                                                                                                             |
| `setFormatConfig(config: FormatConfig)`                                                                  | `void`                                                    | Set the text format config.                                                                                                                              |
| `submitComment(request: SubmitCommentRequest)`                                                           | `void`                                                    | Programmatically trigger comment submission for the composer with the given `targetComposerElementId`.                                                   |
| `clearComposer(request: ClearComposerRequest)`                                                           | `void`                                                    | Programmatically clear the composer state for the given `targetComposerElementId`.                                                                       |
| `on<T extends keyof CommentEventTypesMap>(action: T)`                                                    | `Observable<CommentEventTypesMap[T]>`                     | Subscribe to a typed comment event by action name.                                                                                                       |
| `getComposerData(request: GetComposerDataRequest)`                                                       | `ComposerTextChangeEvent \| null`                         | One-time fetch of the current composer data for a given `targetComposerElementId` (same data as the `COMPOSER_TEXT_CHANGE` event), or null if not found. |

> Note: `onCommentNavigationButtonClick` exists in source but is commented out and not part of the public surface.

***

### Cursor: `client.getCursorElement()`

Class: `CursorElement`.

| Method                                    | Returns                            | Description                                                                                                                                  |
| ----------------------------------------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `getLiveCursorsOnCurrentDocument()`       | `Observable<CursorUser[] \| null>` | *(deprecated: use `getOnlineUsersOnCurrentDocument`)* Subscribe to cursors of all online users (active or inactive) on the current document. |
| `getOnlineUsersOnCurrentDocument()`       | `Observable<CursorUser[] \| null>` | Subscribe to cursors of all online users (active or inactive) on the current document.                                                       |
| `setInactivityTime(time: number)`         | `void`                             | Set inactivity time in milliseconds (default 2 minutes).                                                                                     |
| `allowedElementIds(elementIds: string[])` | `any`                              | Allow cursors only in specific elements by id.                                                                                               |

***

### Presence: `client.getPresenceElement()`

Class: `PresenceElement`.

| Method                                                                      | Returns                                | Description                                                                                                                        |
| --------------------------------------------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `enableFlockMode(options?: FlockOptions)`                                   | `any`                                  | Enable flock mode globally.                                                                                                        |
| `disableFlockMode()`                                                        | `any`                                  | Disable flock mode globally.                                                                                                       |
| `startFollowingUser(userId: string, name: string)`                          | `void`                                 | Start/join a flock session via leader user ID. *(Impl `_startFollowingUser(externalId)` joins via the leader's external/user ID.)* |
| `stopFollowingUser()`                                                       | `void`                                 | Exit the flock session.                                                                                                            |
| `getOnlineUsersOnCurrentDocument()`                                         | `Observable<PresenceUser[] \| null>`   | *(deprecated: use `getData`)* Subscribe to all online users (active or inactive) on the current document.                          |
| `setInactivityTime(time: number)`                                           | `void`                                 | Set inactivity time in milliseconds (default 5 minutes).                                                                           |
| `enableSelf()`                                                              | `void`                                 | Add self to the presence list.                                                                                                     |
| `disableSelf()`                                                             | `void`                                 | Remove self from the presence list.                                                                                                |
| `getData(query?: PresenceRequestQuery)`                                     | `Observable<GetPresenceDataResponse>`  | Get presence data (normalizes `documentId`/`organizationId` in the query).                                                         |
| `on<T extends keyof PresenceEventTypesMap>(action: T)`                      | `Observable<PresenceEventTypesMap[T]>` | Subscribe to presence actions/events.                                                                                              |
| `addUser(request: { user: Partial<PresenceUser>, localOnly?: boolean })`    | `void`                                 | Add a custom user (e.g. an AI agent) to the presence list. `localOnly` (default false) adds locally only, not persisted.           |
| `removeUser(request: { user: Partial<PresenceUser>, localOnly?: boolean })` | `void`                                 | Remove a previously added custom user. `localOnly` (default false) removes locally only.                                           |

***

### Huddle: `client.getHuddleElement()`

Class: `HuddleElement`.

| Method                            | Returns | Description                         |
| --------------------------------- | ------- | ----------------------------------- |
| `enableCursorMode()`              | `void`  | Enable huddle bubble on cursor.     |
| `disableCursorMode()`             | `void`  | Disable huddle bubble on cursor.    |
| `enableChat()`                    | `void`  | Enable chat.                        |
| `disableChat()`                   | `void`  | Disable chat.                       |
| `enableFlockModeOnAvatarClick()`  | `void`  | Enable flock mode on avatar click.  |
| `disableFlockModeOnAvatarClick()` | `void`  | Disable flock mode on avatar click. |

***

### Recorder: `client.getRecorderElement()`

Class: `RecorderElement`.

| Method                                                                    | Returns                                | Description                                                                                    |
| ------------------------------------------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `initRecording(type: string, panelId?: string)`                           | `any`                                  | Start recording by type and optional panelId.                                                  |
| `onRecordedData()`                                                        | `Observable<RecordedData \| null>`     | *(deprecated: use `on('recordingDone')`)* Subscribe to recorded data when recording completes. |
| `enableDarkMode()`                                                        | `any`                                  | Enable dark mode.                                                                              |
| `disableDarkMode()`                                                       | `any`                                  | Disable dark mode.                                                                             |
| `enableRecordingCountdown()`                                              | `void`                                 | Enable recording countdown.                                                                    |
| `disableRecordingCountdown()`                                             | `void`                                 | Disable recording countdown.                                                                   |
| `getRecordingDataByRecorderId(recorderId: string)`                        | `Observable<RecorderData \| null>`     | *(deprecated: use `getRecordingData()`)* Get recording data by recorder id.                    |
| `enableRecordingTranscription()`                                          | `void`                                 | Enable recording transcription.                                                                |
| `disableRecordingTranscription()`                                         | `void`                                 | Disable recording transcription.                                                               |
| `getRecordingData(query: RecorderRequestQuery)`                           | `Promise<GetRecordingDataResponse>`    | *(deprecated: use `fetchRecordings()`)* Get recording data by recorder ids.                    |
| `enableVideoEditor()`                                                     | `void`                                 | Enable video editor.                                                                           |
| `disableVideoEditor()`                                                    | `void`                                 | Disable video editor.                                                                          |
| `getRecordings(query?: RecorderRequestQuery)`                             | `Observable<GetRecordingsResponse[]>`  | Get recordings by recorder ids (observable).                                                   |
| `fetchRecordings(query?: RecorderRequestQuery)`                           | `Promise<GetRecordingsResponse[]>`     | Fetch recordings by recorder ids (promise).                                                    |
| `deleteRecordings(query?: RecorderRequestQuery)`                          | `Promise<DeleteRecordingsResponse[]>`  | Delete recordings.                                                                             |
| `on<T extends keyof RecorderEventTypesMap>(action: T)`                    | `Observable<RecorderEventTypesMap[T]>` | Subscribe to recorder actions/events.                                                          |
| `setRecordingQualityConstraints(constraints: RecorderQualityConstraints)` | `void`                                 | Set recording quality constraints.                                                             |
| `setRecordingEncodingOptions(options: RecorderEncodingOptions)`           | `void`                                 | Set recording encoding options.                                                                |
| `downloadLatestVideo(recorderId: string)`                                 | `Promise<boolean>`                     | Download the latest recorded video.                                                            |
| `enableRecordingMic()`                                                    | `void`                                 | Enable recording mic.                                                                          |
| `disableRecordingMic()`                                                   | `void`                                 | Disable recording mic.                                                                         |
| `enableOnboardingTooltip()`                                               | `void`                                 | Enable onboarding tooltip.                                                                     |
| `disableOnboardingTooltip()`                                              | `void`                                 | Disable onboarding tooltip.                                                                    |
| `enableRetakeOnVideoEditor()`                                             | `void`                                 | Enable retake on video editor.                                                                 |
| `disableRetakeOnVideoEditor()`                                            | `void`                                 | Disable retake on video editor.                                                                |
| `askDevicePermission(options: RecorderDevicePermissionOptions)`           | `void`                                 | Ask for device permission.                                                                     |
| `setMaxLength(seconds: number)`                                           | `void`                                 | Set max recording length in seconds.                                                           |
| `openPictureInPicture()`                                                  | `Promise<void>`                        | Open Picture-in-Picture mode for the video.                                                    |
| `exitPictureInPicture()`                                                  | `Promise<void>`                        | Exit Picture-in-Picture mode.                                                                  |
| `requestScreenPermission()`                                               | `Promise<MediaStream \| null>`         | Request screen-sharing permission and get the screen stream.                                   |
| `enablePictureInPicture()`                                                | `void`                                 | Enable Picture-in-Picture.                                                                     |
| `disablePictureInPicture()`                                               | `void`                                 | Disable Picture-in-Picture.                                                                    |
| `enablePlaybackOnPreviewClick()`                                          | `void`                                 | Enable playback on preview click.                                                              |
| `disablePlaybackOnPreviewClick()`                                         | `void`                                 | Disable playback on preview click.                                                             |

***

### Notifications: `client.getNotificationElement()`

Class: `NotificationElement`.

| Method                                                                    | Returns                                                       | Description                                                                             |
| ------------------------------------------------------------------------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `openHistoryPanel()`                                                      | `any`                                                         | Open the notification history panel.                                                    |
| `closeHistoryPanel()`                                                     | `any`                                                         | Close the notification history panel.                                                   |
| `toggleHistoryPanel()`                                                    | `any`                                                         | Toggle the notification history panel.                                                  |
| `getNotificationsData(query?: GetNotificationsDataQuery)`                 | `Observable<Notification[] \| null>`                          | Get notifications data.                                                                 |
| `setMaxDays(days: number)`                                                | `void`                                                        | Set max days for notification history.                                                  |
| `setTabConfig(tabConfig: NotificationTabConfig)`                          | `void`                                                        | Set tab configuration.                                                                  |
| `enableReadNotificationsOnForYouTab()`                                    | `void`                                                        | Enable read notifications on the For You tab.                                           |
| `disableReadNotificationsOnForYouTab()`                                   | `void`                                                        | Disable read notifications on the For You tab.                                          |
| `setAllNotificationsAsRead(config?: { tabId: NotificationTabId })`        | `void`                                                        | Mark all notifications as read (optionally scoped to a tab).                            |
| `getUnreadNotificationsCount()`                                           | `Observable<{ forYou: number \| null, all: number \| null }>` | Get unread notifications count.                                                         |
| `markNotificationAsReadById(notificationId: string)`                      | `void`                                                        | Mark a notification as read by id.                                                      |
| `setSettings(config: NotificationSettingsConfig)`                         | `void`                                                        | Set notification settings.                                                              |
| `getSettings()`                                                           | `Observable<NotificationSettingsConfig \| null>`              | Get notification settings.                                                              |
| `muteAllNotifications()`                                                  | `void`                                                        | Mute all notifications.                                                                 |
| `enableSettings()`                                                        | `void`                                                        | Enable settings.                                                                        |
| `disableSettings()`                                                       | `void`                                                        | Disable settings.                                                                       |
| `enableSettingsAtOrganizationLevel()`                                     | `void`                                                        | Enable settings at organization level.                                                  |
| `disableSettingsAtOrganizationLevel()`                                    | `void`                                                        | Disable settings at organization level.                                                 |
| `enableSelfNotifications()`                                               | `void`                                                        | Enable self notifications.                                                              |
| `disableSelfNotifications()`                                              | `void`                                                        | Disable self notifications.                                                             |
| `setSettingsInitialConfig(settings: NotificationInitialSettingsConfig[])` | `void`                                                        | Set the initial settings config.                                                        |
| `openNotificationsPanel()`                                                | `void`                                                        | Open the notifications panel.                                                           |
| `closeNotificationsPanel()`                                               | `void`                                                        | Close the notifications panel.                                                          |
| `enableCurrentDocumentOnly()`                                             | `void`                                                        | Enable current-document-only notifications.                                             |
| `disableCurrentDocumentOnly()`                                            | `void`                                                        | Disable current-document-only notifications.                                            |
| `enableCrossOrganization(config?: CrossOrganizationConfig \| null)`       | `void`                                                        | Opt in to cross-organization "For You" notifications (merges other orgs into the feed). |
| `disableCrossOrganization()`                                              | `void`                                                        | Opt out of cross-organization "For You" notifications.                                  |
| `on<T extends keyof NotificationEventTypesMap>(action: T)`                | `Observable<NotificationEventTypesMap[T]>`                    | Subscribe to notification actions/events.                                               |

***

### Reactions: `client.getReactionElement()`

Class: `ReactionElement`.

| Method                                       | Returns | Description                     |
| -------------------------------------------- | ------- | ------------------------------- |
| `enableDarkMode()`                           | `any`   | Enable dark mode in reactions.  |
| `disableDarkMode()`                          | `any`   | Disable dark mode in reactions. |
| `setCustomReactions(reactions: ReactionMap)` | `void`  | Set custom reactions.           |

***

### Activity Log: `client.getActivityElement()`

Class: `ActivityElement`.

| Method                                               | Returns                                | Description                                                                                               |
| ---------------------------------------------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `getAllActivities(config?: ActivitySubscribeConfig)` | `Observable<ActivityRecord[] \| null>` | Subscribe to activities with optional filtering; auto-cleans up the internal subscription on unsubscribe. |
| `createActivity(data: CreateActivityData)`           | `Promise<void>`                        | Create a new activity record.                                                                             |

***

### Area: `client.getAreaElement()`

Class: `AreaElement`.

| Method                 | Returns | Description                                                    |
| ---------------------- | ------- | -------------------------------------------------------------- |
| `enableArea()`         | `void`  | *(deprecated: use `enableAreaComment`)* Enable area feature.   |
| `disableArea()`        | `void`  | *(deprecated: use `disableAreaComment`)* Disable area feature. |
| `enableAreaComment()`  | `void`  | Enable area feature.                                           |
| `disableAreaComment()` | `void`  | Disable area feature.                                          |

***

### Arrow: `client.getArrowElement()`

Class: `ArrowElement`.

| Method                                    | Returns | Description                                   |
| ----------------------------------------- | ------- | --------------------------------------------- |
| `allowedElementIds(elementIds: string[])` | `any`   | Allow arrows only in specific elements by id. |

***

### Autocomplete: `client.getAutocompleteElement()`

Class: `AutocompleteElement`.

| Method                           | Returns                            | Description                          |
| -------------------------------- | ---------------------------------- | ------------------------------------ |
| `create(data: AutocompleteData)` | `void`                             | Set autocomplete data.               |
| `onAutocompleteChipClick()`      | `Observable<AutocompleteChipData>` | Callback on autocomplete chip click. |

***

### Tag: `client.getTagElement()`

Class: `TagElement`.

| Method                                                               | Returns                               | Description                                           |
| -------------------------------------------------------------------- | ------------------------------------- | ----------------------------------------------------- |
| `getAllTagAnnotations(documentId?: string, documentParams?: object)` | `Observable<TagAnnotation[] \| null>` | Subscribe to tags on the current document.            |
| `deleteTag()`                                                        | `any`                                 | Delete selected tags.                                 |
| `allowedElementIds(elementIds: string[])`                            | `any`                                 | Allow text selection only in specific elements by id. |
| `attachTag(elementId: string)`                                       | `any`                                 | Add tags on specific elements.                        |
| `addTagModeChange()`                                                 | `Observable<boolean>`                 | Subscribe to add-tag-mode change.                     |

***

### Contact: `client.getContactElement()`

Class: `ContactElement`.

| Method                                                                                       | Returns                                      | Description                                                                      |
| -------------------------------------------------------------------------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------- |
| `isUserGlobalContact()`                                                                      | `Observable<boolean>`                        | Get whether the user is part of the global contact list.                         |
| `onContactSelected()`                                                                        | `Observable<SelectedUserContact \| null>`    | Get selected contact details.                                                    |
| `enableAtHere()`                                                                             | `void`                                       | Enable `@here` for the contact list.                                             |
| `setAtHereLabel(label: string)`                                                              | `void`                                       | Set the `@here` label.                                                           |
| `setAtHereDescription(description: string)`                                                  | `void`                                       | Set the `@here` description.                                                     |
| `disableAtHere()`                                                                            | `void`                                       | Disable `@here` for the contact list.                                            |
| `updateContactListScopeForOrganizationUsers(scope: ContactListScopeForOrganizationUsers[])`  | `void`                                       | Update contact list scope for organization users.                                |
| `updateContactList(userContacts: UserContact[], config?: { merge: boolean, options?: any })` | `void`                                       | Update the contact list.                                                         |
| `updateOrgList(config: UpdateOrgListConfig)`                                                 | `void`                                       | Update the list of orgs/teams offered by the "Selected Teams" visibility picker. |
| `getContactList()`                                                                           | `Observable<GetContactListResponse \| null>` | Get the contact list.                                                            |

***

### Selection: `client.getSelectionElement()`

Class: `SelectionElement`.

| Method                                                      | Returns                                 | Description                                              |
| ----------------------------------------------------------- | --------------------------------------- | -------------------------------------------------------- |
| `enableLiveSelection()`                                     | `void`                                  | Enable selections.                                       |
| `disableLiveSelection()`                                    | `void`                                  | Disable selections.                                      |
| `enableUserIndicator()`                                     | `void`                                  | Enable user indicator.                                   |
| `disableUserIndicator()`                                    | `void`                                  | Disable user indicator.                                  |
| `setUserIndicatorPosition(position: UserIndicatorPosition)` | `void`                                  | Set user indicator position.                             |
| `setUserIndicatorType(type: UserIndicatorType)`             | `void`                                  | Set user indicator type.                                 |
| `enableDefaultElementsTracking()`                           | `void`                                  | Enable default elements tracking.                        |
| `disableDefaultElementsTracking()`                          | `void`                                  | Disable default elements tracking.                       |
| `enableDefaultStyling()`                                    | `void`                                  | Enable default styling.                                  |
| `disableDefaultStyling()`                                   | `void`                                  | Disable default styling.                                 |
| `getLiveSelectionData()`                                    | `Observable<LiveSelectionData \| null>` | Get live selection data.                                 |
| `setInactivityTime(time: number)`                           | `void`                                  | Set inactivity time in milliseconds (default 5 minutes). |

***

### CRDT: `client.getCrdtElement()`

Class: `CrdtElement`.

| Method                                                                                 | Returns                             | Description                                                                                                     |
| -------------------------------------------------------------------------------------- | ----------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `updateData(updateDataQuery: CrdtUpdateDataQuery)`                                     | `Promise<any>`                      | Update CRDT data.                                                                                               |
| `onDataChange(onDataChangeQuery: CrdtOnDataChangeQuery)`                               | `() => void`                        | Subscribe to CRDT data changes; returns an unsubscribe function.                                                |
| `getData(getDataQuery: CrdtGetDataQuery)`                                              | `Promise<any>`                      | Get CRDT data.                                                                                                  |
| `onStateChange(onStateChangeQuery: CrdtOnStateChangeQuery)`                            | `() => void`                        | Subscribe to CRDT state changes; returns an unsubscribe function.                                               |
| `updateState(updateStateQuery: CrdtUpdateStateQuery)`                                  | `Promise<any>`                      | Update CRDT state.                                                                                              |
| `registerSyncUser(registerSyncUserQuery: CrdtRegisterSyncUserQuery)`                   | `Promise<void>`                     | Register a sync user.                                                                                           |
| `onRegisteredUserChange(onRegisteredUserChangeQuery: CrdtOnRegisteredUserChangeQuery)` | `() => void`                        | Subscribe to registered-user changes; returns an unsubscribe function.                                          |
| `setPresence(setPresenceQuery: CrdtSetPresenceQuery)`                                  | `Promise<void>`                     | Set presence.                                                                                                   |
| `onPresenceChange(onPresenceChangeQuery: CrdtOnPresenceChangeQuery)`                   | `() => void`                        | Subscribe to presence changes; returns an unsubscribe function.                                                 |
| `saveVersion(saveVersionQuery: CrdtSaveVersionQuery)`                                  | `Promise<any>`                      | Save a version.                                                                                                 |
| `getVersion(getVersionQuery: CrdtGetVersionQuery)`                                     | `Promise<any>`                      | Get a version.                                                                                                  |
| `getVersions(getVersionsQuery: CrdtGetVersionsQuery)`                                  | `Promise<any>`                      | Get versions.                                                                                                   |
| `enableWebhook()`                                                                      | `void`                              | Enable webhook.                                                                                                 |
| `disableWebhook()`                                                                     | `void`                              | Disable webhook.                                                                                                |
| `setWebhookDebounceTime(time: number)`                                                 | `void`                              | Set webhook debounce time in milliseconds (default 5 seconds).                                                  |
| `pushMessage(pushMessageQuery: CrdtPushMessageQuery)`                                  | `Promise<void>`                     | Push a lib0-encoded message to the unified message stream (sync + awareness).                                   |
| `onMessage(onMessageQuery: CrdtOnMessageQuery)`                                        | `() => void`                        | Subscribe to the unified message stream; emits each new message as it arrives. Returns an unsubscribe function. |
| `getMessages(getMessagesQuery: CrdtGetMessagesQuery)`                                  | `Promise<CrdtMessageData[]>`        | Fetch all messages after a given timestamp (one-time read for replay).                                          |
| `getSnapshot(getSnapshotQuery: CrdtGetSnapshotQuery)`                                  | `Promise<CrdtSnapshotData \| null>` | Get the latest full-state snapshot for a document.                                                              |
| `saveSnapshot(saveSnapshotQuery: CrdtSaveSnapshotQuery)`                               | `Promise<void>`                     | Save a full-state snapshot (state + vector) for fast initial load.                                              |
| `pruneMessages(pruneMessagesQuery: CrdtPruneMessagesQuery)`                            | `Promise<void>`                     | Remove messages older than a given timestamp from the message stream.                                           |
| `setActivityDebounceTime(time: number)`                                                | `void`                              | Set activity debounce time for batching CRDT edits in milliseconds (default 10 min, minimum 10 sec).            |
| `on<T extends keyof CrdtEventTypesMap>(action: T)`                                     | `Observable<CrdtEventTypesMap[T]>`  | Subscribe to CRDT actions/events.                                                                               |

***

### Live State Sync / Store: `client.getLiveStateSyncElement()` / `client.getStoreElement()`

Class: `LiveStateSyncElement`.

| Method                                                                                                      | Returns                                                            | Description                                                                   |
| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------------- |
| `getLiveStateData$<T = unknown>(liveStateDataId?: string, liveStateDataConfig?: LiveStateDataConfig)`       | `Observable<T>`                                                    | *(deprecated: use `getLiveStateData`)* Get live state data.                   |
| `getLiveStateData<T = unknown>(liveStateDataId?: string, liveStateDataConfig?: LiveStateDataConfig)`        | `Observable<T>`                                                    | Get live state data.                                                          |
| `fetchLiveStateData<T = unknown>(request?: FetchLiveStateDataRequest)`                                      | `Promise<T>`                                                       | Fetch live state data.                                                        |
| `setLiveStateData<T = unknown>(liveStateDataId: string, liveStateData: T, config?: SetLiveStateDataConfig)` | `Promise<void>`                                                    | Set live state data.                                                          |
| `enableSingleEditorMode(config?: SingleEditorConfig)`                                                       | `void`                                                             | Enable single editor mode.                                                    |
| `disableSingleEditorMode()`                                                                                 | `void`                                                             | Disable single editor mode.                                                   |
| `isUserEditor$()`                                                                                           | `Observable<UserEditorAccess \| null \| undefined>`                | *(deprecated: use `isUserEditor`)* Check if the user is editor.               |
| `isUserEditor()`                                                                                            | `Observable<UserEditorAccess \| null \| undefined>`                | Check if the user is editor.                                                  |
| `getEditor()`                                                                                               | `Observable<User \| null>`                                         | Get the editor.                                                               |
| `setUserAsEditor()`                                                                                         | `Promise<SetUserAsEditorResponse \| void>`                         | Set the current user as editor.                                               |
| `resetUserAccess()`                                                                                         | `void`                                                             | Reset user editor access in single editor mode.                               |
| `singleEditorModeContainerIds(elementIds: string[])`                                                        | `void`                                                             | Disable elements inside specific elements only when single editor mode is on. |
| `enableAutoSyncState()`                                                                                     | `void`                                                             | Enable auto sync state.                                                       |
| `disableAutoSyncState()`                                                                                    | `void`                                                             | Disable auto sync state.                                                      |
| `requestEditorAccess()`                                                                                     | `Observable<boolean \| null>`                                      | Request editor access.                                                        |
| `isEditorAccessRequested()`                                                                                 | `Observable<{ requestStatus: string, requestedBy: User } \| null>` | Check if editor access is requested.                                          |
| `acceptEditorAccessRequest()`                                                                               | `void`                                                             | Accept an editor-access request.                                              |
| `rejectEditorAccessRequest()`                                                                               | `void`                                                             | Reject an editor-access request.                                              |
| `cancelEditorAccessRequest()`                                                                               | `void`                                                             | Cancel an editor-access request.                                              |
| `editCurrentTab()`                                                                                          | `void`                                                             | Edit the current tab.                                                         |
| `setEditorAccessTimeout(timeout: number)`                                                                   | `void`                                                             | Set the editor-access timeout.                                                |
| `enableEditorAccessTransferOnTimeOut()`                                                                     | `void`                                                             | Enable editor-access transfer on timeout.                                     |
| `disableEditorAccessTransferOnTimeOut()`                                                                    | `void`                                                             | Disable editor-access transfer on timeout.                                    |
| `enableDefaultSingleEditorUI()`                                                                             | `void`                                                             | Enable the default single-editor UI.                                          |
| `disableDefaultSingleEditorUI()`                                                                            | `void`                                                             | Disable the default single-editor UI.                                         |
| `getEditorAccessTimer()`                                                                                    | `Observable<EditorAccessTimer>`                                    | Get the editor-access timer.                                                  |
| `onServerConnectionStateChange()`                                                                           | `Observable<ServerConnectionState>`                                | Get the server connection state.                                              |
| `updateUserPresence(userPresence: LiveStateSingleEditorExternalUserPresence)`                               | `void`                                                             | Update external user presence.                                                |
| `enableHeartbeat()`                                                                                         | `void`                                                             | Enable heartbeat.                                                             |
| `disableHeartbeat()`                                                                                        | `void`                                                             | Disable heartbeat.                                                            |
| `on<T extends keyof LiveStateEventTypesMap>(action: T)`                                                     | `Observable<LiveStateEventTypesMap[T]>`                            | Subscribe to live state events.                                               |

***

### Doc: `client.getDocElement()`

Class: `DocElement`.

| Method                  | Returns                                | Description            |
| ----------------------- | -------------------------------------- | ---------------------- |
| `getDocumentMetadata()` | `Observable<DocumentMetadata \| null>` | Get document metadata. |

***

### Rewriter: `client.getRewriterElement()`

Class: `RewriterElement`.

| Method                                                 | Returns                                | Description                                               |
| ------------------------------------------------------ | -------------------------------------- | --------------------------------------------------------- |
| `enableRewriter()`                                     | `void`                                 | Enable the rewriter feature.                              |
| `disableRewriter()`                                    | `void`                                 | Disable the rewriter feature.                             |
| `enableDefaultUI()`                                    | `void`                                 | Enable the default rewriter UI on text selection.         |
| `disableDefaultUI()`                                   | `void`                                 | Disable the default rewriter UI on text selection.        |
| `on<T extends keyof RewriterEventTypesMap>(action: T)` | `Observable<RewriterEventTypesMap[T]>` | Subscribe to rewriter events.                             |
| `askAi(request: RewriterAskAiRequest)`                 | `Promise<RewriterAskAiResponse>`       | Call AI with the currently selected text.                 |
| `replaceText(request: RewriterReplaceTextRequest)`     | `Promise<RewriterReplaceTextResponse>` | Replace the selected text in the DOM with the given text. |
| `addComment(request: RewriterAddCommentRequest)`       | `Promise<RewriterAddCommentResponse>`  | Add a comment annotation on the selected text.            |

***

### Suggestion: `client.getSuggestionElement()`

Class: `SuggestionElement`.

| Method                                                             | Returns                                  | Description                                                      |
| ------------------------------------------------------------------ | ---------------------------------------- | ---------------------------------------------------------------- |
| `enableSuggestionMode(config?: EnableSuggestionModeConfig)`        | `void`                                   | Turn on suggestion mode.                                         |
| `disableSuggestionMode()`                                          | `void`                                   | Turn off suggestion mode.                                        |
| `isSuggestionModeEnabled()`                                        | `boolean`                                | Synchronous read of the suggestion-mode flag.                    |
| `isSuggestionModeEnabled$()`                                       | `Observable<boolean>`                    | Reactive suggestion-mode stream.                                 |
| `registerTarget<T = unknown>(config: RegisterTargetConfig<T>)`     | `void`                                   | Register a complex-object getter for a target.                   |
| `unregisterTarget(targetId: string)`                               | `void`                                   | Drop the registered getter for a target.                         |
| `startSuggestion(targetId: string)`                                | `void`                                   | Manually capture the current value as the snapshot for a target. |
| `commitSuggestion<T = unknown>(config: CommitSuggestionConfig<T>)` | `Promise<{ id: string }>`                | Commit a suggestion.                                             |
| `getSuggestions(filter?: SuggestionGetSuggestionsFilter)`          | `Suggestion[]`                           | Synchronous read of all suggestions on the current document.     |
| `getSuggestions$(filter?: SuggestionGetSuggestionsFilter)`         | `Observable<Suggestion[]>`               | Reactive variant of `getSuggestions`.                            |
| `getPendingSuggestion<T = unknown>(targetId: string)`              | `Suggestion<T> \| null`                  | Newest pending suggestion for a target, or null.                 |
| `getPendingSuggestion$<T = unknown>(targetId: string)`             | `Observable<Suggestion<T> \| null>`      | Reactive variant of `getPendingSuggestion`.                      |
| `on<T extends SuggestionEventType>(action: T)`                     | `Observable<SuggestionEventTypesMap[T]>` | Subscribe to a suggestion event.                                 |

***

### Views: `client.getViewsElement()`

Class: `ViewsElement`.

| Method                                            | Returns                   | Description               |
| ------------------------------------------------- | ------------------------- | ------------------------- |
| `getUniqueViewsByUser(clientLocationId?: string)` | `Observable<ViewsByUser>` | Get unique views by user. |
| `getUniqueViewsByDate(clientLocationId?: string)` | `Observable<ViewsByDate>` | Get unique views by date. |

***

### Injector (base): `client.getInjectorElement()`

Class: `InjectorElement`: the base class all feature elements extend. It exposes a single public method (the rest are `protected`).

| Method                       | Returns           | Description                                                   |
| ---------------------------- | ----------------- | ------------------------------------------------------------- |
| `ha(hideAnalytics: boolean)` | *(none declared)* | Set the `hideAnalytics` flag (suppresses analytics tracking). |
