# univerAPI

> Language fallback: requested `zh-CN`; content is `en-US`.

- Human documentation: [https://docs.univer.ai/zh-CN/reference/facade/univer](https://docs.univer.ai/zh-CN/reference/facade/univer)

- Agent Markdown: [https://docs.univer.ai/zh-CN/reference/facade/univer.md](https://docs.univer.ai/zh-CN/reference/facade/univer.md)

- Requested language: `zh-CN`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [facade/univer.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/facade/univer.mdx)

---

| Packages | `@univerjs/core`, `@univerjs/ui`, `@univerjs/watermark`, `@univerjs/network`, `@univerjs/sheets-find-replace`, `@univerjs/docs`, `@univerjs/sheets`, `@univerjs/sheets-ui`, `@univerjs/thread-comment`, `@univerjs-pro/exchange-client`, `@univerjs-pro/bases-exchange-client`, `@univerjs-pro/boards-exchange-client`, `@univerjs-pro/docs-exchange-client`, `@univerjs-pro/pdfs-exchange-client`, `@univerjs-pro/sheets-exchange-client`, `@univerjs-pro/slides-exchange-client`, `@univerjs-pro/collaboration-client`, `@univerjs/sheets-crosshair-highlight`, `@univerjs/engine-formula`, `@univerjs-pro/live-share`, `@univerjs/sheets-data-validation`, `@univerjs/sheets-thread-comment`, `@univerjs/sheets-formula`, `@univerjs/sheets-drawing-ui`, `@univerjs-pro/collaboration-client-ui`, `@univerjs/sheets-formula-ui`, `@univerjs-pro/edit-history` |
| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

The root Facade API object to interact with Univer. Please use `newAPI` static method
to create a new instance.

> This class should not be instantiated directly. Use factory methods on `univerAPI` instead.

## Overview

### @univerjs/core

| Method                                                  | Description                                                                                       |
| ------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [`addEvent`](#addevent)                                 | Add an event listener                                                                             |
| [`disposeUnit`](#disposeunit)                           | Dispose the UniverSheet by the `unitId`                                                           |
| [`executeCommand`](#executecommand)                     | Execute a command with the given id and parameters                                                |
| [`extend`](#extend)                                     | -                                                                                                 |
| [`fireEvent`](#fireevent)                               | Fire an event, used in internal only                                                              |
| [`getCurrentLifecycleStage`](#getcurrentlifecyclestage) | Get the current lifecycle stage                                                                   |
| [`getCurrentLocale`](#getcurrentlocale)                 | Get the current locale                                                                            |
| `getCurrentRegion`                                      | Get the current region used by locale-sensitive behavior                                          |
| [`getCurrentTheme`](#getcurrenttheme)                   | Get the active theme                                                                              |
| [`getLocales`](#getlocales)                             | Get loaded locale messages                                                                        |
| [`isDarkMode`](#isdarkmode)                             | Check whether the active theme is dark                                                            |
| [`getUserManager`](#getusermanager)                     | -                                                                                                 |
| [`loadLocales`](#loadlocales)                           | Load locales for the given locale                                                                 |
| [`newAPI`](#newapi)                                     | Create an FUniver instance, if the injector is not provided, it will create a new Univer instance |
| [`newBlob`](#newblob)                                   | Create a new blob                                                                                 |
| [`newParagraphStyle`](#newparagraphstyle)               | Create a new paragraph style                                                                      |
| [`newParagraphStyleValue`](#newparagraphstylevalue)     | Create a new paragraph style value                                                                |
| [`newRichText`](#newrichtext)                           | Create a new rich text                                                                            |
| [`newRichTextValue`](#newrichtextvalue)                 | Create a new rich text value                                                                      |
| [`newTextDecoration`](#newtextdecoration)               | Create a new text decoration                                                                      |
| [`newTextStyle`](#newtextstyle)                         | Create a new text style                                                                           |
| [`newTextStyleValue`](#newtextstylevalue)               | Create a new text style value                                                                     |
| [`redo`](#redo)                                         | Redo an editing on the currently focused document                                                 |
| [`registerEventHandler`](#registereventhandler)         | -                                                                                                 |
| [`setLocale`](#setlocale)                               | Set the current locale                                                                            |
| `setRegion`                                             | Set the current region independently of the message locale                                        |
| `setDirection`                                          | Set the runtime layout direction to `ltr` or `rtl`                                                |
| [`setTheme`](#settheme)                                 | Replace the active theme at runtime                                                               |
| [`syncExecuteCommand`](#syncexecutecommand)             | Execute a command with the given id and parameters synchronously                                  |
| [`toggleDarkMode`](#toggledarkmode)                     | Toggle dark mode on or off                                                                        |
| [`undo`](#undo)                                         | Undo an editing on the currently focused document                                                 |

### @univerjs/docs

| Method                                    | Description                                         |
| ----------------------------------------- | --------------------------------------------------- |
| [`createDocument`](#createdocument)       | Create a new document and return its facade wrapper |
| [`getActiveDocument`](#getactivedocument) | -                                                   |
| [`getDocument`](#getdocument)             | -                                                   |

### @univerjs/engine-formula

| Method                      | Description |
| --------------------------- | ----------- |
| [`getFormula`](#getformula) | -           |

### @univerjs/network

| Method                          | Description |
| ------------------------------- | ----------- |
| [`createSocket`](#createsocket) | -           |
| [`getNetwork`](#getnetwork)     | -           |

### @univerjs/sheets

| Method                                            | Description |
| ------------------------------------------------- | ----------- |
| [`createWorkbook`](#createworkbook)               | -           |
| [`getActiveSheet`](#getactivesheet)               | -           |
| [`getActiveWorkbook`](#getactiveworkbook)         | -           |
| [`getSheetCommandTarget`](#getsheetcommandtarget) | -           |
| [`getWorkbook`](#getworkbook)                     | -           |
| [`setFreezeSync`](#setfreezesync)                 | -           |

### @univerjs/sheets-crosshair-highlight

| Method                                                          | Description |
| --------------------------------------------------------------- | ----------- |
| [`getCrosshairHighlightEnabled`](#getcrosshairhighlightenabled) | -           |
| [`setCrosshairHighlightEnabled`](#setcrosshairhighlightenabled) | -           |

### @univerjs/sheets-data-validation

| Method                                    | Description |
| ----------------------------------------- | ----------- |
| [`newDataValidation`](#newdatavalidation) | -           |

### @univerjs/sheets-drawing-ui

| Method                                                      | Description |
| ----------------------------------------------------------- | ----------- |
| [`registerURLImageDownloader`](#registerurlimagedownloader) | -           |

### @univerjs/sheets-find-replace

| Method                                            | Description |
| ------------------------------------------------- | ----------- |
| [`createTextFinderAsync`](#createtextfinderasync) | -           |

### @univerjs/sheets-formula-ui

| Method                                                | Description |
| ----------------------------------------------------- | ----------- |
| [`showRangeSelectorDialog`](#showrangeselectordialog) | -           |

### @univerjs/sheets-thread-comment

| Method                                | Description |
| ------------------------------------- | ----------- |
| [`newTheadComment`](#newtheadcomment) | -           |

### @univerjs/thread-comment

| Method                | Description                                         |
| --------------------- | --------------------------------------------------- |
| `createCommentAsync`  | Create a root thread on a serialized product anchor |
| `replyCommentAsync`   | Add a reply to a loaded thread                      |
| `updateCommentAsync`  | Update root or reply content and attachments        |
| `deleteCommentAsync`  | Delete one comment or a complete thread             |
| `resolveCommentAsync` | Resolve or reopen a thread                          |
| `getComments`         | Query locally loaded threads                        |
| `listCommentsAsync`   | Synchronize known threads and query them            |

### @univerjs/sheets-ui

| Method                                                                      | Description                    |
| --------------------------------------------------------------------------- | ------------------------------ |
| [`customizeColumnHeader`](#customizecolumnheader)                           | -                              |
| [`customizeRowHeader`](#customizerowheader)                                 | -                              |
| [`getProtectedRangeShadowStrategy`](#getprotectedrangeshadowstrategy)       | -                              |
| [`getProtectedRangeShadowStrategy$`](#getprotectedrangeshadowstrategy-1)    | -                              |
| [`registerCellCustomRender`](#registercellcustomrender)                     | Register cell custom renderers |
| [`pasteIntoSheet`](#pasteintosheet)                                         | -                              |
| [`registerSheetColumnHeaderExtension`](#registersheetcolumnheaderextension) | -                              |
| [`registerSheetMainExtension`](#registersheetmainextension)                 | -                              |
| [`registerSheetRowHeaderExtension`](#registersheetrowheaderextension)       | -                              |
| [`setPermissionDialogVisible`](#setpermissiondialogvisible)                 | -                              |
| [`setProtectedRangeShadowStrategy`](#setprotectedrangeshadowstrategy)       | -                              |

### @univerjs/ui

| Method                                        | Description              |
| --------------------------------------------- | ------------------------ |
| [`addFonts`](#addfonts)                       | -                        |
| [`copy`](#copy)                               | -                        |
| [`createMenu`](#createmenu)                   | -                        |
| [`createSubmenu`](#createsubmenu)             | -                        |
| [`getComponentManager`](#getcomponentmanager) | -                        |
| [`getShortcut`](#getshortcut)                 | -                        |
| [`getURL`](#geturl)                           | -                        |
| [`isUIVisible`](#isuivisible)                 | -                        |
| [`onBeforeCopy`](#onbeforecopy)               | -                        |
| [`onBeforePaste`](#onbeforepaste)             | -                        |
| [`onCopy`](#oncopy)                           | -                        |
| [`onPaste`](#onpaste)                         | -                        |
| [`openDialog`](#opendialog)                   | -                        |
| [`openSidebar`](#opensidebar)                 | -                        |
| [`paste`](#paste)                             | -                        |
| [`registerComponent`](#registercomponent)     | -                        |
| [`registerUIPart`](#registeruipart)           | -                        |
| [`setCurrent`](#setcurrent)                   | -                        |
| [`setRibbonType`](#setribbontype)             | Change the ribbon layout |
| [`setUIVisible`](#setuivisible)               | -                        |
| [`showMessage`](#showmessage)                 | -                        |

### @univerjs/watermark

| Method                                | Description |
| ------------------------------------- | ----------- |
| [`addWatermark`](#addwatermark)       | -           |
| [`deleteWatermark`](#deletewatermark) | -           |

### @univerjs-pro/collaboration-client

| Method                                                  | Description |
| ------------------------------------------------------- | ----------- |
| [`getCollaboration`](#getcollaboration)                 | -           |
| [`loadServerUnit`](#loadserverunit)                     | -           |
| [`loadServerUnitOfRevision`](#loadserverunitofrevision) | -           |

### @univerjs-pro/collaboration-client-ui

| Method                        | Description |
| ----------------------------- | ----------- |
| [`runOnServer`](#runonserver) | -           |

### @univerjs-pro/exchange-client

| Method                          | Description                                   |
| ------------------------------- | --------------------------------------------- |
| [`downloadFile`](#downloadfile) | Trigger a browser download for a file or blob |

### @univerjs-pro/edit-history

| Method                                               | Description                                                                                    |
| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| [`compareUnitData`](#semantic-unit-comparison)       | Semantically compare two fully materialized unit snapshots with the registered product adapter |
| [`prepareUnitComparison`](#semantic-unit-comparison) | Prepare a comparison once for repeated filtering, scopes, and pagination                       |

Import and export methods are registered by their host Facade entries:

| Package                                | Methods                                                                                                                                                                                                                                                                                                                                                                                                                      |
| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `@univerjs-pro/bases-exchange-client`  | `importBaseToUnitIdAsync`, `importBaseToSnapshotAsync`, `exportBaseByUnitIdAsync`, `exportBaseBySnapshotAsync`, `transformSnapshotJsonToBaseDataAsync`, `transformBaseDataToSnapshotJsonAsync`                                                                                                                                                                                                                               |
| `@univerjs-pro/boards-exchange-client` | `exportBoardByUnitIdAsync`, `exportBoardBySnapshotAsync`, `transformSnapshotJsonToBoardDataAsync`, `transformBoardDataToSnapshotJsonAsync`                                                                                                                                                                                                                                                                                   |
| `@univerjs-pro/docs-exchange-client`   | [`importDocToUnitIdAsync`](#importdoctounitidasync), [`importDocToSnapshotAsync`](#importdoctosnapshotasync), [`exportDocByUnitIdAsync`](#exportdocbyunitidasync), [`exportDocBySnapshotAsync`](#exportdocbysnapshotasync), `transformSnapshotJsonToDocumentDataAsync`, `transformDocumentDataToSnapshotJsonAsync`                                                                                                           |
| `@univerjs-pro/pdfs-exchange-client`   | `importPdfToUnitIdAsync`, `importPdfToSnapshotAsync`, `exportPdfByUnitIdAsync`, `exportPdfBySnapshotAsync`, `transformSnapshotJsonToPdfDataAsync`, `transformPdfDataToSnapshotJsonAsync`                                                                                                                                                                                                                                     |
| `@univerjs-pro/sheets-exchange-client` | [`importSheetToUnitIdAsync`](#importsheettounitidasync), [`importSheetToSnapshotAsync`](#importsheettosnapshotasync), [`exportSheetByUnitIdAsync`](#exportsheetbyunitidasync), [`exportSheetBySnapshotAsync`](#exportsheetbysnapshotasync), [`transformSnapshotJsonToWorkbookDataAsync`](#transformsnapshotjsontoworkbookdataasync), [`transformWorkbookDataToSnapshotJsonAsync`](#transformworkbookdatatosnapshotjsonasync) |
| `@univerjs-pro/slides-exchange-client` | [`importSlideToUnitIdAsync`](#importslidetounitidasync), [`importSlideToSnapshotAsync`](#importslidetosnapshotasync), [`exportSlideByUnitIdAsync`](#exportslidebyunitidasync), [`exportSlideBySnapshotAsync`](#exportslidebysnapshotasync), `transformSnapshotJsonToSlideDataAsync`, `transformSlideDataToSnapshotJsonAsync`                                                                                                 |

### @univerjs-pro/live-share

| Method                                      | Description |
| ------------------------------------------- | ----------- |
| [`getLiveShareStatus`](#getlivesharestatus) | -           |
| [`startFollowing`](#startfollowing)         | -           |
| [`startPresenting`](#startpresenting)       | -           |
| [`stopFollowing`](#stopfollowing)           | -           |
| [`stopPresenting`](#stoppresenting)         | -           |

## Cross-product extensions

### Locale, region, and direction

`setLocale()` switches loaded messages. Region and layout direction can be controlled independently:

```typescript
univerAPI.setRegion('SG')
univerAPI.setDirection('rtl')

console.log(univerAPI.getCurrentRegion())
```

### Thread comments

Import the shared Facade entry once, then import the matching product Facade for anchor-specific helpers.

```typescript
import '@univerjs/thread-comment/facade'

const openComments = univerAPI.getComments({ resolved: false })
await univerAPI.listCommentsAsync({
  anchorKinds: [univerAPI.Enum.ThreadCommentAnchorKind.DOC_TEXT_RANGE],
})
```

`listCommentsAsync()` synchronizes thread IDs already known to the configured datasource; it is not a server-wide discovery API.

### Semantic unit comparison

```typescript
import { UnitComparisonFidelity } from '@univerjs-pro/edit-history'

import '@univerjs-pro/edit-history/facade'

const result = univerAPI.compareUnitData({
  comparisonId: 'review-42',
  unitId: 'doc-1',
  type: univerAPI.Enum.UniverInstanceType.UNIVER_DOC,
  fidelity: UnitComparisonFidelity.SNAPSHOT,
  leftData,
  rightData,
})
```

Register the matching product History plugin before calling these methods. `prepareUnitComparison(input)` returns an `FUnitComparison`; its `query()` method accepts scope, filters, detail, and pagination without recomputing the comparison. The `scopes` array identifies product views. These APIs compare semantic content without merging snapshots or replaying mutations. See [prepared and headless comparisons](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/edit-history.md#prepared-comparisons) for limits, diagnostics, and Node.js usage.

## APIs

### Creation & Bootstrap

### `createMenu`

**Signature**

```typescript
createMenu(menuItem: IFacadeMenuItem): FMenu
```

**Parameters**

* `menuItem` `IFacadeMenuItem` — *No description*

**Returns**

* `FMenu` — See signature above.

Source: 

`@univerjs/ui`

### `createSocket`

**Signature**

```typescript
createSocket(url: string): ISocket
```

**Parameters**

* `url` `string` — *No description*

**Returns**

* `ISocket` — See signature above.

Source: 

`@univerjs/network`

### `createSubmenu`

**Signature**

```typescript
createSubmenu(submenuItem: IFacadeSubmenuItem): FSubmenu
```

**Parameters**

* `submenuItem` `IFacadeSubmenuItem` — *No description*

**Returns**

* `FSubmenu` — See signature above.

Source: 

`@univerjs/ui`

### `createTextFinderAsync`

**Signature**

```typescript
async createTextFinderAsync(text: string): Promise<FTextFinder | null>
```

**Parameters**

* `text` `string` — *No description*

**Returns**

* `Promise<FTextFinder>` — See signature above.

Source: 

`@univerjs/sheets-find-replace`

### `createDocument`

**Signature**

```typescript
createDocument(data: Partial<IDocumentData>): FDocument
```

**Parameters**

* `data` `Partial<IDocumentData>` — Initial document data. Pass `{}` to create an empty document.

**Returns**

* `FDocument` — The created document facade wrapper.

Source: 

`@univerjs/docs`

### `createWorkbook`

**Signature**

```typescript
createWorkbook(data: Partial<IWorkbookData>, options?: ICreateUnitOptions): FWorkbook
```

**Parameters**

* `data` `Partial<IWorkbookData>` — *No description*
* `options` `ICreateUnitOptions` *(optional)* — *No description*

**Returns**

* `FWorkbook` — See signature above.

Source: 

`@univerjs/sheets`

### `disposeUnit`

Dispose the UniverSheet by the `unitId`. The UniverSheet would be unload from the application.

**Signature**

```typescript
disposeUnit(unitId: string): boolean
```

**Parameters**

* `unitId` `string` — *No description*

**Returns**

* `boolean` — Whether the Univer instance is disposed successfully.

**Examples**

```ts
const fWorkbook = univerAPI.getActiveWorkbook()
const unitId = fWorkbook?.getId()

if (unitId) {
  univerAPI.disposeUnit(unitId)
}
```

Source: 

`@univerjs/core`

### `newAPI`

Create an FUniver instance, if the injector is not provided, it will create a new Univer instance.

**Signature**

```typescript
static newAPI(wrapped: Univer | Injector): FUniver
```

**Parameters**

* `wrapped` `any` — *No description*

**Returns**

* `FUniver` — - The FUniver instance.

**Tags**

* `@static` — \*

**Examples**

```ts
const univerAPI = FUniver.newAPI(univer)
```

Source: 

`@univerjs/core`

### Unit & Workbook

### `getActiveWorkbook`

**Signature**

```typescript
getActiveWorkbook(): FWorkbook | null
```

**Returns**

* `FWorkbook` — See signature above.

Source: 

`@univerjs/sheets`

### Commands

### `executeCommand`

Execute a command with the given id and parameters.

**Signature**

```typescript
executeCommand<P extends object = object, R = boolean>(id: string, params?: P, options?: IExecutionOptions): Promise<R>
```

**Parameters**

* `id` `string` — *No description*
* `params` `P` *(optional)* — *No description*
* `options` `IExecutionOptions` *(optional)* — *No description*

**Returns**

* `Promise<R>` — The result of the execution. It is a boolean value by default which indicates the command is executed.

**Examples**

```ts
univerAPI.executeCommand('sheet.command.set-range-values', {
  value: { v: 'Hello, Univer!' },
  range: { startRow: 0, startColumn: 0, endRow: 0, endColumn: 0 },
})
```

Source: 

`@univerjs/core`

### `redo`

Redo an editing on the currently focused document.

**Signature**

```typescript
redo(): Promise<boolean>
```

**Returns**

* `Promise<boolean>` — redo result

**Examples**

```ts
await univerAPI.redo()
```

Source: 

`@univerjs/core`

### `syncExecuteCommand`

Execute a command with the given id and parameters synchronously.

**Signature**

```typescript
syncExecuteCommand<P extends object = object, R = boolean>(id: string, params?: P, options?: IExecutionOptions): R
```

**Parameters**

* `id` `string` — *No description*
* `params` `P` *(optional)* — *No description*
* `options` `IExecutionOptions` *(optional)* — *No description*

**Returns**

* `R` — The result of the execution. It is a boolean value by default which indicates the command is executed.

**Examples**

```ts
univerAPI.syncExecuteCommand('sheet.command.set-range-values', {
  value: { v: 'Hello, Univer!' },
  range: { startRow: 0, startColumn: 0, endRow: 0, endColumn: 0 },
})
```

Source: 

`@univerjs/core`

### `undo`

Undo an editing on the currently focused document.

**Signature**

```typescript
undo(): Promise<boolean>
```

**Returns**

* `Promise<boolean>` — undo result

**Examples**

```ts
await univerAPI.undo()
```

Source: 

`@univerjs/core`

### Events

### `addEvent`

Add an event listener

**Signature**

```typescript
addEvent<T extends keyof IEventParamConfig>(event: T, callback: (params: IEventParamConfig[T]) => void): IDisposable
```

**Parameters**

* `event` `T` — *No description*
* `callback` `(params: IEventParamConfig[T]) => void` — when event triggered

**Returns**

* `IDisposable` — The Disposable instance, for remove the listener

**Examples**

```ts
// Add life cycle changed event listener
const disposable = univerAPI.addEvent(univerAPI.Event.LifeCycleChanged, (params) => {
  const { stage } = params
  console.log('life cycle changed', params)
})

// Remove the event listener, use `disposable.dispose()`
```

Source: 

`@univerjs/core`

### `fireEvent`

Fire an event, used in internal only.

**Signature**

```typescript
fireEvent<T extends keyof IEventParamConfig>(event: T, params: IEventParamConfig[T]): boolean | undefined
```

**Parameters**

* `event` `T` — *No description*
* `params` `IEventParamConfig[T]` — of event

**Returns**

* `boolean` — should cancel

**Examples**

```ts
this.fireEvent(univerAPI.Event.LifeCycleChanged, params)
```

Source: 

`@univerjs/core`

### `registerEventHandler`

**Signature**

```typescript
registerEventHandler: (event: string, handler: () => any) => IDisposable
```

**Returns**

* `(event: string, handler: () => any) => IDisposable` — See signature above.

Source: 

`@univerjs/core`

### Factories

### `newBlob`

Create a new blob.

**Signature**

```typescript
newBlob(): FBlob
```

**Returns**

* `FBlob` — The new blob instance

**Examples**

```ts
const blob = univerAPI.newBlob()
```

Source: 

`@univerjs/core`

### `newDataValidation`

> [!WARN]
> Deprecated — use 
> 
> `univerAPI.newDataValidation()`
> 
>  as instead.

**Signature**

```typescript
static newDataValidation(): FDataValidationBuilder
```

**Returns**

* `FDataValidationBuilder` — A new instance of the FDataValidationBuilder class

Source: 

`@univerjs/sheets-data-validation`

### `newParagraphStyle`

Create a new paragraph style.

**Signature**

```typescript
newParagraphStyle(style?: IParagraphStyle): ParagraphStyleBuilder
```

**Parameters**

* `style` `IParagraphStyle` *(optional)* — *No description*

**Returns**

* `ParagraphStyleBuilder` — The new paragraph style instance

**Examples**

```ts
const richText = univerAPI.newRichText({ body: { dataStream: 'Hello World\r\n' } })
const paragraphStyle = univerAPI.newParagraphStyle({
  textStyle: { ff: 'Arial', fs: 12, it: univerAPI.Enum.BooleanNumber.TRUE, bl: univerAPI.Enum.BooleanNumber.TRUE },
})
richText.insertParagraph(paragraphStyle)
const range = univerAPI.getActiveWorkbook().getActiveSheet().getRange('A1')
range.setRichTextValueForCell(richText)
```

Source: 

`@univerjs/core`

### `newParagraphStyleValue`

Create a new paragraph style value.

**Signature**

```typescript
newParagraphStyleValue(style?: IParagraphStyle): ParagraphStyleValue
```

**Parameters**

* `style` `IParagraphStyle` *(optional)* — *No description*

**Returns**

* `ParagraphStyleValue` — The new paragraph style value instance

**Examples**

```ts
const paragraphStyleValue = univerAPI.newParagraphStyleValue()
```

Source: 

`@univerjs/core`

### `newRichText`

Create a new rich text.

**Signature**

```typescript
newRichText(data?: IDocumentData): RichTextBuilder
```

**Parameters**

* `data` `IDocumentData` *(optional)* — *No description*

**Returns**

* `RichTextBuilder` — The new rich text instance

**Examples**

```ts
const richText = univerAPI.newRichText({ body: { dataStream: 'Hello World\r\n' } })
const range = univerAPI.getActiveWorkbook().getActiveSheet().getRange('A1')
range.setRichTextValueForCell(richText)
```

`RichTextBuilder.link(text, url)` appends linked text without offsets. Use `getLinks()` to obtain the link's range id and change its destination later.

```ts
const richText = univerAPI.newRichText().text('Read ').link('the guide', 'https://docs.univer.ai')
const [link] = richText.getLinks()
if (!link) throw new Error('Link was not created')

richText.updateLink(link.rangeId, 'https://docs.univer.ai/guides')
```

`removeLink(id)` removes the link destination but preserves its visible text.

Source: 

`@univerjs/core`

### `newRichTextValue`

Create a new rich text value.

**Signature**

```typescript
newRichTextValue(data: IDocumentData): RichTextValue
```

**Parameters**

* `data` `IDocumentData` — *No description*

**Returns**

* `RichTextValue` — The new rich text value instance

**Examples**

```ts
const richTextValue = univerAPI.newRichTextValue({ body: { dataStream: 'Hello World\r\n' } })
const range = univerAPI.getActiveWorkbook().getActiveSheet().getRange('A1')
range.setRichTextValueForCell(richTextValue)
```

Source: 

`@univerjs/core`

### `newTextDecoration`

Create a new text decoration.

**Signature**

```typescript
newTextDecoration(decoration?: ITextDecoration): TextDecorationBuilder
```

**Parameters**

* `decoration` `ITextDecoration` *(optional)* — *No description*

**Returns**

* `TextDecorationBuilder` — The new text decoration instance

**Examples**

```ts
const decoration = univerAPI.newTextDecoration()
```

Source: 

`@univerjs/core`

### `newTextStyle`

Create a new text style.

**Signature**

```typescript
newTextStyle(style?: ITextStyle): TextStyleBuilder
```

**Parameters**

* `style` `ITextStyle` *(optional)* — *No description*

**Returns**

* `TextStyleBuilder` — The new text style instance

**Examples**

```ts
const textStyle = univerAPI.newTextStyle()
```

Source: 

`@univerjs/core`

### `newTextStyleValue`

Create a new text style value.

**Signature**

```typescript
newTextStyleValue(style?: ITextStyle): TextStyleValue
```

**Parameters**

* `style` `ITextStyle` *(optional)* — *No description*

**Returns**

* `TextStyleValue` — The new text style value instance

**Examples**

```ts
const textStyleValue = univerAPI.newTextStyleValue()
```

Source: 

`@univerjs/core`

### `newTheadComment`

**Signature**

```typescript
newTheadComment(comment?: IThreadComment): FTheadCommentBuilder
```

**Parameters**

* `comment` `IThreadComment` *(optional)* — *No description*

**Returns**

* `FTheadCommentBuilder` — See signature above.

Source: 

`@univerjs/sheets-thread-comment`

### Environment

### `setLocale`

Set the current locale.

**Signature**

```typescript
setLocale(locale: string): void
```

**Parameters**

* `locale` `string` — *No description*

**Examples**

```ts
univerAPI.setLocale('esES')
```

Source: 

`@univerjs/core`

### `setTheme`

Replace the active theme at runtime.

```typescript
setTheme(theme: Theme): void
```

### `getCurrentTheme`

```typescript
getCurrentTheme(): Theme
```

### `isDarkMode`

```typescript
isDarkMode(): boolean
```

```ts
import { darkBlueTheme } from '@univerjs/themes'

univerAPI.setTheme(darkBlueTheme)
console.log(univerAPI.isDarkMode(), univerAPI.getCurrentTheme())
```

Source: 

`@univerjs/core`

### `toggleDarkMode`

Toggle dark mode on or off.

**Signature**

```typescript
toggleDarkMode(isDarkMode: boolean): void
```

**Parameters**

* `isDarkMode` `boolean` — *No description*

**Examples**

```ts
univerAPI.toggleDarkMode(true)
```

Source: 

`@univerjs/core`

### Miscellaneous

### `addFonts`

**Signature**

```typescript
addFonts(fonts: IFontConfig[]): void
```

**Parameters**

* `fonts` `IFontConfig[]` — *No description*

Source: 

`@univerjs/ui`

### `addWatermark`

**Signature**

```typescript
addWatermark(type: IWatermarkTypeEnum.Text | IWatermarkTypeEnum.Image, config: ITextWatermarkConfig | IImageWatermarkConfig): FUniver
```

**Parameters**

* `type` `IWatermarkTypeEnum.Text | IWatermarkTypeEnum.Image` — *No description*
* `config` `ITextWatermarkConfig | IImageWatermarkConfig` — *No description*

**Returns**

* `FUniver` — See signature above.

Source: 

`@univerjs/watermark`

### `copy`

**Signature**

```typescript
copy(): Promise<boolean>
```

**Returns**

* `Promise<boolean>` — See signature above.

Source: 

`@univerjs/ui`

### `customizeColumnHeader`

**Signature**

```typescript
customizeColumnHeader(cfg: IColumnsHeaderCfgParam): void
```

**Parameters**

* `cfg` `IColumnsHeaderCfgParam` — *No description*

Source: 

`@univerjs/sheets-ui`

### `customizeRowHeader`

**Signature**

```typescript
customizeRowHeader(cfg: IRowsHeaderCfgParam): void
```

**Parameters**

* `cfg` `IRowsHeaderCfgParam` — *No description*

Source: 

`@univerjs/sheets-ui`

### `deleteWatermark`

**Signature**

```typescript
deleteWatermark(): FUniver
```

**Returns**

* `FUniver` — See signature above.

Source: 

`@univerjs/watermark`

### `downloadFile`

Trigger a browser download for a file or blob.

**Signature**

```typescript
downloadFile(file: File | Blob, filename: string, fileExt: string): void
```

**Parameters**

* `file` `File | Blob` — File or blob to download.
* `filename` `string` — Filename without extension.
* `fileExt` `string` — File extension without a leading dot.

Source: 

`@univerjs-pro/exchange-client`

### `exportDocBySnapshotAsync`

**Signature**

```typescript
exportDocBySnapshotAsync(snapshot: IDocumentData): Promise<File | undefined>
```

**Parameters**

* `snapshot` `IDocumentData` — *No description*

**Returns**

* `Promise<File>` — See signature above.

Source: 

`@univerjs-pro/docs-exchange-client`

### `exportDocByUnitIdAsync`

**Signature**

```typescript
exportDocByUnitIdAsync(unitId: string): Promise<File | undefined>
```

**Parameters**

* `unitId` `string` — *No description*

**Returns**

* `Promise<File>` — See signature above.

Source: 

`@univerjs-pro/docs-exchange-client`

### `exportSlideBySnapshotAsync`

Export PPTX file by slide data

**Signature**

```typescript
exportSlideBySnapshotAsync(snapshot: ISlideData): Promise<File | undefined>
```

**Parameters**

* `snapshot` `ISlideData` — Slide data.

**Returns**

* `Promise<File>` — See signature above.

Source: 

`@univerjs-pro/slides-exchange-client`

### `exportSlideByUnitIdAsync`

Export PPTX file by unit id

**Signature**

```typescript
exportSlideByUnitIdAsync(unitId: string): Promise<File | undefined>
```

**Parameters**

* `unitId` `string` — The slide unit id.

**Returns**

* `Promise<File>` — See signature above.

Source: 

`@univerjs-pro/slides-exchange-client`

### `exportSheetBySnapshotAsync`

Export XLSX file by workbook data

**Signature**

```typescript
exportSheetBySnapshotAsync(snapshot: IWorkbookData, format?: ExchangeFormat, sheetId?: string): Promise<File | undefined>
```

**Parameters**

* `snapshot` `IWorkbookData` — *No description*

**Returns**

* `Promise<File>` — See signature above.

Source: 

`@univerjs-pro/sheets-exchange-client`

### `exportSheetByUnitIdAsync`

Export XLSX file by unit id

**Signature**

```typescript
exportSheetByUnitIdAsync(unitId: string, format?: ExchangeFormat, sheetId?: string): Promise<File | undefined>
```

**Parameters**

* `unitId` `string` — *No description*

**Returns**

* `Promise<File>` — See signature above.

Source: 

`@univerjs-pro/sheets-exchange-client`

### `extend`

**Signature**

```typescript
static extend(source: any): void
```

**Parameters**

* `source` `any` — *No description*

Source: 

`@univerjs/core`

### `getActiveDocument`

**Signature**

```typescript
getActiveDocument(): FDocument | null
```

**Returns**

* `FDocument` — See signature above.

Source: 

`@univerjs/docs`

### `getActiveSheet`

**Signature**

```typescript
getActiveSheet(): Nullable<{ workbook: FWorkbook; worksheet: FWorksheet }>
```

**Returns**

* `Nullable<{ workbook: FWorkbook; worksheet: FWorksheet; }>` — See signature above.

Source: 

`@univerjs/sheets`

### `getCollaboration`

**Signature**

```typescript
getCollaboration(): FCollaboration
```

**Returns**

* `FCollaboration` — See signature above.

Source: 

`@univerjs-pro/collaboration-client`

### `getSheetCommandTarget`

**Signature**

```typescript
getSheetCommandTarget(params?: { unitId?: string; subUnitId?: string; sheetId?: string }): { workbook: FWorkbook; worksheet: FWorksheet; unitId: string; subUnitId: string } | null
```

**Parameters**

* `params` `{ unitId?: string; subUnitId?: string; sheetId?: string }` *(optional)* — Target identifiers.

**Returns**

* `{ workbook: FWorkbook; worksheet: FWorksheet; unitId: string; subUnitId: string } | null` — See signature above.

Source: 

`@univerjs/sheets`

### `getComponentManager`

**Signature**

```typescript
getComponentManager(): ComponentManager
```

**Returns**

* `ComponentManager` — See signature above.

Source: 

`@univerjs/ui`

### `getCrosshairHighlightEnabled`

**Signature**

```typescript
getCrosshairHighlightEnabled(): boolean
```

**Returns**

* `boolean` — See signature above.

Source: 

`@univerjs/sheets-crosshair-highlight`

### `getCurrentLifecycleStage`

Get the current lifecycle stage.

**Signature**

```typescript
getCurrentLifecycleStage(): LifecycleStages
```

**Returns**

* `LifecycleStages` — - The current lifecycle stage.

**Examples**

```ts
const stage = univerAPI.getCurrentLifecycleStage()
console.log(stage)
```

Source: 

`@univerjs/core`

### `getCurrentLocale`

Get the current locale.

**Signature**

```typescript
getCurrentLocale(): string
```

**Returns**

* `string` — The current locale.

**Examples**

```ts
const currentLocale = univerAPI.getCurrentLocale()
```

Source: 

`@univerjs/core`

### `getFormula`

**Signature**

```typescript
getFormula(): FFormula
```

**Returns**

* `FFormula` — See signature above.

Source: 

`@univerjs/engine-formula`

### `getLocales`

Get loaded locale messages.

**Signature**

```typescript
getLocales(): ILanguagePack | undefined
```

**Returns**

* `ILanguagePack | undefined` — Loaded locale messages.

**Examples**

```ts
const locales = univerAPI.getLocales()
```

Source: 

`@univerjs/core`

### `getLiveShareStatus`

**Signature**

```typescript
getLiveShareStatus(): LiveShareStatus
```

**Returns**

* `LiveShareStatus` — See signature above.

Source: 

`@univerjs-pro/live-share`

### `getNetwork`

**Signature**

```typescript
getNetwork(): FNetwork
```

**Returns**

* `FNetwork` — See signature above.

Source: 

`@univerjs/network`

### `getProtectedRangeShadowStrategy`

**Signature**

```typescript
getProtectedRangeShadowStrategy(): 'always' | 'non-editable' | 'non-viewable' | 'none'
```

**Returns**

* `"always" | "non-editable" | "non-viewable" | "none"` — See signature above.

Source: 

`@univerjs/sheets-ui`

### `getProtectedRangeShadowStrategy$`

**Signature**

```typescript
getProtectedRangeShadowStrategy$(): Observable<'always' | 'non-editable' | 'non-viewable' | 'none'>
```

**Returns**

* `Observable<"always" | "non-editable" | "non-viewable" | "none">` — See signature above.

Source: 

`@univerjs/sheets-ui`

### `registerCellCustomRender`

Register custom cell renderers. Dispose the returned handle to remove the interceptor.

**Signature**

```typescript
registerCellCustomRender(customRender: Nullable<ICellCustomRender[]>, effect?: InterceptorEffectEnum, priority?: number): IDisposable
```

Source: 

`@univerjs/sheets-ui`

### `getShortcut`

**Signature**

```typescript
getShortcut(): FShortcut
```

**Returns**

* `FShortcut` — See signature above.

Source: 

`@univerjs/ui`

### `getDocument`

**Signature**

```typescript
getDocument(id: string): FDocument | null
```

**Parameters**

* `id` `string` — *No description*

**Returns**

* `FDocument` — See signature above.

Source: 

`@univerjs/docs`

### `getURL`

**Signature**

```typescript
getURL(): URL
```

**Returns**

* `URL` — See signature above.

Source: 

`@univerjs/ui`

### `getUserManager`

**Signature**

```typescript
getUserManager(): FUserManager
```

**Returns**

* `FUserManager` — See signature above.

Source: 

`@univerjs/core`

### `getWorkbook`

**Signature**

```typescript
getWorkbook(id: string): FWorkbook | null
```

**Parameters**

* `id` `string` — *No description*

**Returns**

* `FWorkbook` — See signature above.

Source: 

`@univerjs/sheets`

### `importDocToSnapshotAsync`

Import DOCX file to document data

**Signature**

```typescript
importDocToSnapshotAsync(file: File | string): Promise<IDocumentData | undefined>
```

**Parameters**

* `file` `string | File` — *No description*

**Returns**

* `Promise<any>` — See signature above.

Source: 

`@univerjs-pro/docs-exchange-client`

### `importDocToUnitIdAsync`

Import DOCX file to unit id

**Signature**

```typescript
importDocToUnitIdAsync(file: File | string): Promise<string | undefined>
```

**Parameters**

* `file` `string | File` — *No description*

**Returns**

* `Promise<string>` — See signature above.

Source: 

`@univerjs-pro/docs-exchange-client`

### `importSlideToSnapshotAsync`

Import PPTX file to slide data

**Signature**

```typescript
importSlideToSnapshotAsync(file: File | string): Promise<ISlideData | undefined>
```

**Parameters**

* `file` `File | string` — File object or URL.

**Returns**

* `Promise<ISlideData | undefined>` — See signature above.

Source: 

`@univerjs-pro/slides-exchange-client`

### `importSlideToUnitIdAsync`

Import PPTX file to unit id

**Signature**

```typescript
importSlideToUnitIdAsync(file: File | string): Promise<string | undefined>
```

**Parameters**

* `file` `File | string` — File object or URL.

**Returns**

* `Promise<string>` — See signature above.

Source: 

`@univerjs-pro/slides-exchange-client`

### `importSheetToSnapshotAsync`

Import XLSX file to workbook data

**Signature**

```typescript
importSheetToSnapshotAsync(file: File | string): Promise<IWorkbookData | undefined>
```

**Parameters**

* `file` `string | File` — *No description*

**Returns**

* `Promise<any>` — See signature above.

Source: 

`@univerjs-pro/sheets-exchange-client`

### `importSheetToUnitIdAsync`

Import XLSX file to unit id

**Signature**

```typescript
importSheetToUnitIdAsync(file: File | string): Promise<string | undefined>
```

**Parameters**

* `file` `string | File` — *No description*

**Returns**

* `Promise<string>` — See signature above.

Source: 

`@univerjs-pro/sheets-exchange-client`

### `isUIVisible`

**Signature**

```typescript
isUIVisible(ui: BuiltInUIPart): boolean
```

**Parameters**

* `ui` `BuiltInUIPart` — *No description*

**Returns**

* `boolean` — See signature above.

Source: 

`@univerjs/ui`

### `loadLocales`

Load locales for the given locale.

**Signature**

```typescript
loadLocales(locale: string, locales: ILanguagePack): void
```

**Parameters**

* `locale` `string` — *No description*
* `locales` `ILanguagePack` — *No description*

**Examples**

```ts
univerAPI.loadLocales('esES', {
  'Hello World': 'Hola Mundo',
})
```

Source: 

`@univerjs/core`

### `loadServerUnit`

**Signature**

```typescript
loadServerUnit(unitId: string, unitType: UniverInstanceType, subUnitId?: string): Promise<UnitModel | null>
```

**Parameters**

* `unitId` `string` — *No description*
* `unitType` `UniverInstanceType` — *No description*
* `subUnitId` `string` *(optional)* — *No description*

**Returns**

* `Promise<any>` — See signature above.

Source: 

`@univerjs-pro/collaboration-client`

### `loadServerUnitOfRevision`

**Signature**

```typescript
loadServerUnitOfRevision(unitId: string, unitType: UniverInstanceType, rev: number): Promise<UnitModel | null>
```

**Parameters**

* `unitId` `string` — *No description*
* `unitType` `UniverInstanceType` — *No description*
* `rev` `number` — *No description*

**Returns**

* `Promise<any>` — See signature above.

Source: 

`@univerjs-pro/collaboration-client`

### `onBeforeCopy`

**Signature**

```typescript
onBeforeCopy(callback: () => void): IDisposable
```

**Parameters**

* `callback` `() => void` — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/ui`

### `onBeforePaste`

**Signature**

```typescript
onBeforePaste(callback: () => void): IDisposable
```

**Parameters**

* `callback` `() => void` — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/ui`

### `onCopy`

**Signature**

```typescript
onCopy(callback: () => void): IDisposable
```

**Parameters**

* `callback` `() => void` — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/ui`

### `onPaste`

**Signature**

```typescript
onPaste(callback: () => void): IDisposable
```

**Parameters**

* `callback` `() => void` — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/ui`

### `openDialog`

**Signature**

```typescript
openDialog(dialog: IDialogPartMethodOptions): IDisposable
```

**Parameters**

* `dialog` `IDialogPartMethodOptions` — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/ui`

### `openSidebar`

**Signature**

```typescript
openSidebar(params: ISidebarMethodOptions): IDisposable
```

**Parameters**

* `params` `ISidebarMethodOptions` — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/ui`

### `paste`

**Signature**

```typescript
paste(): Promise<boolean>
```

**Returns**

* `Promise<boolean>` — See signature above.

Source: 

`@univerjs/ui`

### `pasteIntoSheet`

**Signature**

```typescript
pasteIntoSheet(htmlContent?: string, textContent?: string, files?: File[]): Promise<boolean>
```

**Parameters**

* `htmlContent` `string` *(optional)* — *No description*
* `textContent` `string` *(optional)* — *No description*
* `files` `File[]` *(optional)* — *No description*

**Returns**

* `Promise<boolean>` — See signature above.

Source: 

`@univerjs/sheets-ui`

### `registerComponent`

**Signature**

```typescript
registerComponent(name: string, component: ComponentType, options?: IComponentOptions): IDisposable
```

**Parameters**

* `name` `string` — *No description*
* `component` `ComponentType` — *No description*
* `options` `IComponentOptions` *(optional)* — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/ui`

### `registerSheetColumnHeaderExtension`

**Signature**

```typescript
registerSheetColumnHeaderExtension(unitId: string, ...extensions: SheetExtension[]): IDisposable
```

**Parameters**

* `unitId` `string` — *No description*
* `extensions` `SheetExtension[]` — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/sheets-ui`

### `registerSheetMainExtension`

**Signature**

```typescript
registerSheetMainExtension(unitId: string, ...extensions: SheetExtension[]): IDisposable
```

**Parameters**

* `unitId` `string` — *No description*
* `extensions` `SheetExtension[]` — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/sheets-ui`

### `registerSheetRowHeaderExtension`

**Signature**

```typescript
registerSheetRowHeaderExtension(unitId: string, ...extensions: SheetExtension[]): IDisposable
```

**Parameters**

* `unitId` `string` — *No description*
* `extensions` `SheetExtension[]` — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/sheets-ui`

### `registerUIPart`

**Signature**

```typescript
registerUIPart(key: BuiltInUIPart, component: ComponentType): IDisposable
```

**Parameters**

* `key` `BuiltInUIPart` — *No description*
* `component` `ComponentType` — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/ui`

### `registerURLImageDownloader`

**Signature**

```typescript
registerURLImageDownloader(downloader: (url: string) => Promise<string>): IDisposable
```

**Parameters**

* `downloader` `(url: string) => Promise<string>` — *No description*

**Returns**

* `IDisposable` — See signature above.

Source: 

`@univerjs/sheets-drawing-ui`

### `runOnServer`

**Signature**

```typescript
runOnServer(scriptNameOrId: string, func: string, ...params: any[]): Promise<string>
```

**Parameters**

* `scriptNameOrId` `string` — *No description*
* `func` `string` — *No description*
* `params` `any[]` — *No description*

**Returns**

* `Promise<string>` — See signature above.

Source: 

`@univerjs-pro/collaboration-client-ui`

### `setCrosshairHighlightEnabled`

**Signature**

```typescript
setCrosshairHighlightEnabled(enabled: boolean): FUniver
```

**Parameters**

* `enabled` `boolean` — *No description*

**Returns**

* `FUniver` — See signature above.

Source: 

`@univerjs/sheets-crosshair-highlight`

### `setCurrent`

**Signature**

```typescript
setCurrent(unitId: string): void
```

**Parameters**

* `unitId` `string` — *No description*

Source: 

`@univerjs/ui`

### `setFreezeSync`

**Signature**

```typescript
setFreezeSync(enabled: boolean): void
```

**Parameters**

* `enabled` `boolean` — *No description*

Source: 

`@univerjs/sheets`

### `setPermissionDialogVisible`

**Signature**

```typescript
setPermissionDialogVisible(visible: boolean): void
```

**Parameters**

* `visible` `boolean` — *No description*

Source: 

`@univerjs/sheets-ui`

### `setProtectedRangeShadowStrategy`

**Signature**

```typescript
setProtectedRangeShadowStrategy(strategy: 'always' | 'non-editable' | 'non-viewable' | 'none'): void
```

**Parameters**

* `strategy` `"always" | "non-editable" | "non-viewable" | "none"` — *No description*

Source: 

`@univerjs/sheets-ui`

### `setRibbonType`

**Signature**

```typescript
setRibbonType(ribbonType: 'collapsed' | 'simple' | 'classic' | 'grid'): FUniver
```

Changes the current ribbon layout while preserving the rest of the UI plugin configuration.

**Returns**

* `FUniver` — The current Facade instance for chaining.

Source: 

`@univerjs/ui`

### `setUIVisible`

**Signature**

```typescript
setUIVisible(ui: BuiltInUIPart, visible: boolean): FUniver
```

**Parameters**

* `ui` `BuiltInUIPart` — *No description*
* `visible` `boolean` — *No description*

**Returns**

* `FUniver` — See signature above.

Source: 

`@univerjs/ui`

### `showMessage`

**Signature**

```typescript
showMessage(options: IMessageProps): FUniver
```

**Parameters**

* `options` `IMessageProps` — *No description*

**Returns**

* `FUniver` — See signature above.

Source: 

`@univerjs/ui`

### `showRangeSelectorDialog`

**Signature**

```typescript
showRangeSelectorDialog(opts: IShowRangeSelectorDialogOptions): Promise<IUnitRangeName[]>
```

**Parameters**

* `opts` `IShowRangeSelectorDialogOptions` — *No description*

**Returns**

* `Promise<IUnitRangeName[]>` — See signature above.

Source: 

`@univerjs/sheets-formula-ui`

### `startFollowing`

**Signature**

```typescript
startFollowing(): void
```

Source: 

`@univerjs-pro/live-share`

### `startPresenting`

**Signature**

```typescript
startPresenting(): void
```

Source: 

`@univerjs-pro/live-share`

### `stopFollowing`

**Signature**

```typescript
stopFollowing(): void
```

Source: 

`@univerjs-pro/live-share`

### `stopPresenting`

**Signature**

```typescript
stopPresenting(): void
```

Source: 

`@univerjs-pro/live-share`

### `transformSnapshotJsonToWorkbookDataAsync`

Transform snapshot JSON returned by the exchange service to workbook data.

**Signature**

```typescript
transformSnapshotJsonToWorkbookDataAsync(json: ISnapshotBlockJsonResponse): Promise<IWorkbookData>
```

**Parameters**

* `json` `ISnapshotBlockJsonResponse` — Snapshot JSON returned by the exchange service.

**Returns**

* `Promise<IWorkbookData>` — Workbook data.

Source: 

`@univerjs-pro/sheets-exchange-client`

### `transformWorkbookDataToSnapshotJsonAsync`

Transform workbook data to snapshot JSON accepted by the exchange service.

**Signature**

```typescript
transformWorkbookDataToSnapshotJsonAsync(workbookData: IWorkbookData): Promise<ISnapshotBlockJson>
```

**Parameters**

* `workbookData` `IWorkbookData` — Workbook data.

**Returns**

* `Promise<ISnapshotBlockJson>` — Snapshot JSON accepted by the exchange service.

Source: 

`@univerjs-pro/sheets-exchange-client`
