# FDocumentParagraph

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

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

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

- Requested language: `zh-CN`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

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

---

A paragraph facade wrapper.

Paragraph identity is backed by the persisted `paragraphId`. The id is
re-resolved before each method call, so insertions before this paragraph do
not break the wrapper.

## Access

Access through:

* [`FDocument.insertHorizontalRule()`](https://docs.univer.ai/zh-CN/reference/facade/document.md#inserthorizontalrule)
* [`FDocument.getParagraphs()`](https://docs.univer.ai/zh-CN/reference/facade/document.md#getparagraphs)
* [`FDocument.getParagraph()`](https://docs.univer.ai/zh-CN/reference/facade/document.md#getparagraph)
* [`FDocument.findParagraphByText()`](https://docs.univer.ai/zh-CN/reference/facade/document.md#findparagraphbytext)
* [`FDocument.findParagraphs()`](https://docs.univer.ai/zh-CN/reference/facade/document.md#findparagraphs)
* [`FDocument.insertParagraph()`](https://docs.univer.ai/zh-CN/reference/facade/document.md#insertparagraph)
* [`FDocument.appendParagraph()`](https://docs.univer.ai/zh-CN/reference/facade/document.md#appendparagraph)
* [`FDocumentColumn.getParagraphs()`](https://docs.univer.ai/zh-CN/reference/facade/document-column.md#getparagraphs)

## Setup

Register [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) or a preset that includes it. In plugin mode, import `@univerjs/docs/facade`. Additional methods below require their listed plugin packages. See [Facade setup](https://docs.univer.ai/zh-CN/guides/docs/getting-started/facade.md).

## `@univerjs/docs`

### `FDocumentParagraph.appendText`

Append plain text before this paragraph's trailing paragraph break.

```typescript
appendText(text: string): boolean
```

**Parameters**

* `text` — Required. The plain text to append.

**Returns**

`true` if the text was appended.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument.getParagraphs()[0]
paragraph?.appendText(' Appended text')
console.log(paragraph?.getText())
```

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.findAllText`

Finds every non-overlapping literal text occurrence inside this paragraph.

Results are ordered from the start of the paragraph. The returned ranges
are fixed when created; use them immediately and resolve new ranges after
edits that change earlier document content.

```typescript
findAllText(text: string, options?: Omit<IFDocumentFindTextOptions, 'occurrence'>): FDocumentTextRange[]
```

**Parameters**

* `text` — Required. Literal text to find. It must not be empty.
* `options` — Optional. Default: `{}`. Case-sensitivity option.

**Returns**

All matching fixed text ranges, or an empty array when no matches exist.

**Examples**

```ts
const univerAPI = FUniver.newAPI(univer)
const document = univerAPI.getActiveDocument()
if (!document) throw new Error('No active document')

const paragraph = document.findParagraphByText('x plus x')
if (!paragraph) throw new Error('Target paragraph not found')

const matches = paragraph.findAllText('x')
console.log(matches.map((range) => range.describe()))
```

**Types:** [`FDocumentTextRange`](https://docs.univer.ai/zh-CN/reference/facade/document-text-range.md) · [`Omit`](https://unpkg.com/@typescript/typescript-darwin-arm64@7.0.2/lib/lib.es5.d.ts) · [`IFDocumentFindTextOptions`](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.findText`

Finds one literal text occurrence inside this paragraph.

The returned text range is fixed when it is created. Resolve a new range
after edits that insert or remove content before the match.

```typescript
findText(text: string, options?: IFDocumentFindTextOptions): FDocumentTextRange | null
```

**Parameters**

* `text` — Required. Literal text to find. It must not be empty.
* `options` — Optional. Default: `{}`. Case sensitivity and zero-based occurrence.

**Returns**

The matching fixed text range, or `null` when no such occurrence exists.

**Examples**

```ts
const univerAPI = FUniver.newAPI(univer)
const document = univerAPI.getActiveDocument()
if (!document) throw new Error('No active document')

const paragraph = document.findParagraphByText('Launch formula')
if (!paragraph) throw new Error('Target paragraph not found')

const range = paragraph.findText('formula')
if (!range) throw new Error('Target text not found')

console.log(range.describe())
```

**Types:** [`FDocumentTextRange`](https://docs.univer.ai/zh-CN/reference/facade/document-text-range.md) · [`IFDocumentFindTextOptions`](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.getId`

Get the persisted paragraph id.

```typescript
getId(): string
```

**Returns**

The paragraph id.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument.getParagraphs()[0]
console.log(paragraph?.getId())
```

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.getInfo`

Get this paragraph's metadata.

```typescript
getInfo(): IFDocumentParagraphInfo
```

**Returns**

The paragraph info.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument.getParagraphs()[0]
console.log(paragraph?.getInfo())
```

**Types:** [`IFDocumentParagraphInfo`](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.getPermission`

Returns this Paragraph's permission facade.

```typescript
getPermission(): FDocumentObjectPermission
```

**Returns**

Permission facade combining Document, Section, and Paragraph Edit points.

**Examples**

```ts
const paragraph = univerAPI.getActiveDocument()?.getParagraphs()[0]
if (!paragraph) throw new Error('Paragraph not found.')
await paragraph.getPermission().setReadOnly()
```

**Types:** [`FDocumentObjectPermission`](https://docs.univer.ai/zh-CN/reference/facade/document-object-permission.md)

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.getRange`

Get the current text range occupied by this paragraph.

```typescript
getRange(): IFDocumentTextRange
```

**Returns**

The paragraph text range, excluding the trailing paragraph break.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument.getParagraphs()[0]
console.log(paragraph?.getRange())
```

**Types:** [`IFDocumentTextRange`](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/utils.d.ts)

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.getSegmentId`

Get the segment id of this paragraph.
The main body paragraphs have an empty string segment id.
The header and footer paragraphs have a non-empty string segment id.

```typescript
getSegmentId(): string
```

**Returns**

The segment id.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument.getParagraphs()[0]
console.log(paragraph?.getSegmentId())
```

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.getText`

Get this paragraph's plain text.

```typescript
getText(): string
```

**Returns**

The paragraph text without the trailing paragraph break.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument.getParagraphs()[0]
console.log(paragraph?.getText())
```

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.getTextRange`

Returns an agent-friendly facade for reading and styling this paragraph's text.

```typescript
getTextRange(): FDocumentTextRange
```

**Returns**

The paragraph text range, excluding the trailing paragraph break.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument?.findParagraphByText('Launch')
const range = paragraph?.getTextRange()
console.log(range?.describe())
```

**Types:** [`FDocumentTextRange`](https://docs.univer.ai/zh-CN/reference/facade/document-text-range.md)

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.isListItem`

Check whether this paragraph is a bullet, ordered, or checklist item.

```typescript
isListItem(): boolean
```

**Returns**

`true` if the paragraph has list metadata.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument.getParagraphs()[0]
console.log(paragraph?.isListItem())
```

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.isTask`

Check whether this paragraph is a task/checklist item.

```typescript
isTask(): boolean
```

**Returns**

`true` if this paragraph is an unchecked or checked task item.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument.getParagraphs()[0]
console.log(paragraph?.isTask())
```

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.remove`

Remove this paragraph.

```typescript
remove(): boolean
```

**Returns**

`true` if the paragraph was removed.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument.getParagraphs()[0]
const success = paragraph?.remove()
console.log(success ? 'Paragraph removed' : 'Failed to remove paragraph')
```

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.setStyle`

Applies a paragraph and optional text-style patch through one document command.

Pagination values use `BooleanNumber.TRUE` or `BooleanNumber.FALSE`; explicit
false is preserved and overrides inherited true. The paragraph and text-style
changes share one undo/redo item. A stale paragraph handle returns `false`
without applying a partial update.

The Traditional renderer applies these Word-compatible pagination rules:
use `pageBreakBefore` for a hard chapter-page boundary, `keepLines` for a
short paragraph that should stay intact, `keepNext` for a heading or caption
that should accompany the next paragraph, and `widowControl` for natural
multi-line body text. Do not enable every rule on every paragraph. Modern
and Unspecified Docs preserve the values in the model but do not apply them
to physical pages.

`style.textStyle.fs` is a font size in points (pt), not CSS pixels.

```typescript
setStyle(style: IParagraphStyle): boolean
```

**Parameters**

* `style` — Required. The Univer paragraph style patch.

**Returns**

`true` when the complete patch was applied; otherwise `false`.

**Examples**

```ts
const document = univerAPI.getActiveDocument()
if (!document) {
  throw new Error('No active document')
}
if (!document.isTraditional()) {
  throw new Error('Traditional document pagination is required')
}
const heading = document.findParagraphByText('Appendix')
const following = document.findParagraphByText('Supporting details')
if (!heading || !following) {
  throw new Error('Expected paragraphs were not found')
}

const headingUpdated = heading.setStyle({
  pageBreakBefore: univerAPI.Enum.BooleanNumber.TRUE,
  keepLines: univerAPI.Enum.BooleanNumber.TRUE,
  keepNext: univerAPI.Enum.BooleanNumber.TRUE,
})
const followingUpdated = following.setStyle({
  // Explicit FALSE terminates this authored keepNext chain even if a named
  // style or document default enables it.
  keepNext: univerAPI.Enum.BooleanNumber.FALSE,
  widowControl: univerAPI.Enum.BooleanNumber.TRUE,
})
if (!headingUpdated || !followingUpdated) {
  throw new Error('Failed to update paragraph pagination')
}
```

**Types:** [`IParagraphStyle`](https://unpkg.com/@univerjs/core@1.0.0-rc.0/lib/types/types/interfaces/i-document-data.d.ts)

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.setTaskChecked`

Set the checked state of this task/checklist paragraph.

```typescript
setTaskChecked(checked: boolean): boolean
```

**Parameters**

* `checked` — Required. Whether the task item should be checked.

**Returns**

`true` if the task state was updated, or `false` if this paragraph is not a task item.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument.getParagraphs()[0]

if (paragraph.isTask()) {
  const success = paragraph.setTaskChecked(true)
  console.log(success ? 'Task checked' : 'Failed to check task')
}
```

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.setText`

Replace this paragraph's plain text.

```typescript
setText(text: string): boolean
```

**Parameters**

* `text` — Required. The replacement text. Do not include the paragraph break.

**Returns**

`true` if the paragraph text was replaced.

**Examples**

```ts
const fDocument = univerAPI.getActiveDocument()
const paragraph = fDocument.getParagraphs()[0]
paragraph?.setText('New text')
console.log(paragraph?.getText())
```

**Package:** [`@univerjs/docs`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/docs.md) · [Type definitions](https://unpkg.com/@univerjs/docs@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

## `@univerjs-pro/docs-formula`

### `FDocumentParagraph.appendFormula`

Appends one Formula before this paragraph's trailing paragraph token.

The Command resolves the persisted `paragraphId` and the semantic `'end'`
position together. It does not capture an absolute document offset or a
paragraph length in advance. Header/footer paragraphs are rejected because
Doc Formula v1 supports the main body only.

```typescript
appendFormula(formula: string, options?: IDocFormulaCreateFacadeOptions): FDocumentFormula | null
```

**Parameters**

* `formula` — Required. Formula text.
* `options` — Optional. Default: `{}`. Optional number format and stable external Source bindings.

**Returns**

The inserted formula, or `null` when the paragraph is missing,
outside the main body, or the command validation fails.

**Examples**

```ts
import type { FUniver } from '@univerjs/core/facade'
import '@univerjs-pro/docs-formula/facade'

export function appendParagraphFormula(univerAPI: FUniver) {
  const document = univerAPI.getActiveDocument()
  if (!document) throw new Error('No active document')
  const paragraph = document.appendParagraph('Revenue: ')
  const formula = paragraph.appendFormula('=1000/4', {
    numberFormat: { pattern: '$#,##0.00' },
  })
  if (!formula) throw new Error('Failed to append Doc Formula')
  return formula.describe()
}
```

**Types:** [`FDocumentFormula`](https://docs.univer.ai/zh-CN/reference/facade/document-formula.md) · [`IDocFormulaCreateFacadeOptions`](https://unpkg.com/@univerjs-pro/docs-formula@1.0.0-rc.0/lib/types/facade/types.d.ts)

**Package:** [`@univerjs-pro/docs-formula`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/docs-formula.md) · [Type definitions](https://unpkg.com/@univerjs-pro/docs-formula@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.insertFormula`

Inserts one Formula at a paragraph-relative UTF-16 offset.

The paragraph handle is backed by its persisted `paragraphId`. The
Command resolves that id against the latest document snapshot and only
then converts `offset` to a document position. Edits before this paragraph
therefore do not invalidate the insertion anchor.

Use `0` to insert at the content start. Prefer `appendFormula()` for the
current content end because it resolves the semantic `'end'` position
without requiring the caller to measure UTF-16 text length.

```typescript
insertFormula(offset: number, formula: string, options?: IDocFormulaCreateFacadeOptions): FDocumentFormula | null
```

**Parameters**

* `offset` — Required. Zero-based UTF-16 offset relative to this paragraph's text.
* `formula` — Required. Formula text.
* `options` — Optional. Default: `{}`. Optional number format and stable external Source bindings.

**Returns**

The inserted formula, or `null` when the paragraph is missing,
outside the main body, the offset is invalid, or Command validation fails.

**Examples**

Insert between a stable label and its suffix

```ts
import type { FUniver } from '@univerjs/core/facade'
import '@univerjs-pro/docs-formula/facade'

export function insertFormulaInsideParagraph(univerAPI: FUniver) {
  const document = univerAPI.getActiveDocument()
  if (!document) throw new Error('No active document')

  const paragraph = document.appendParagraph('Revenue: USD')
  const paragraphId = paragraph.getId()

  // This edit changes every following absolute document offset.
  document.insertParagraph(0, 'Quarterly report')

  const stableParagraph = document.getParagraph(paragraphId)
  if (!stableParagraph) throw new Error('Revenue paragraph was removed')
  const formula = stableParagraph.insertFormula('Revenue: '.length, '=1000/4', {
    numberFormat: { pattern: '#,##0.00' },
  })
  if (!formula) throw new Error('Failed to insert Doc Formula')
  return formula.describe()
}
```

**Types:** [`FDocumentFormula`](https://docs.univer.ai/zh-CN/reference/facade/document-formula.md) · [`IDocFormulaCreateFacadeOptions`](https://unpkg.com/@univerjs-pro/docs-formula@1.0.0-rc.0/lib/types/facade/types.d.ts)

**Package:** [`@univerjs-pro/docs-formula`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/docs-formula.md) · [Type definitions](https://unpkg.com/@univerjs-pro/docs-formula@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

## `@univerjs-pro/docs-latex`

### `FDocumentParagraph.appendLatex`

Appends one inline LaTeX formula before this paragraph's trailing paragraph break.

The insert command generates and persists the underlying custom-range id.
LaTeX source must not include `$` or `$$` delimiters.

```typescript
appendLatex(latex: string, options?: IDocsLatexCreateFacadeOptions): FDocumentLatex | null
```

**Parameters**

* `latex` — Required. LaTeX source without delimiters.
* `options` — Optional. Default: `{}`. Optional visual properties.

**Returns**

The inserted formula, or `null` when the command fails.

**Examples**

```ts
const univerAPI = FUniver.newAPI(univer)
const document = univerAPI.getActiveDocument()
if (!document) throw new Error('No active document')

const paragraph = document.appendParagraph('Newton second law: ')
const formula = paragraph.appendLatex('F = ma')
if (!formula) throw new Error('Failed to append LaTeX formula')

const description = formula.describe()
if (!description || description.latex !== 'F = ma') {
  throw new Error('LaTeX formula verification failed')
}
console.log(description)
```

**Types:** [`FDocumentLatex`](https://docs.univer.ai/zh-CN/reference/facade/document-latex.md) · [`IDocsLatexCreateFacadeOptions`](https://unpkg.com/@univerjs-pro/docs-latex@1.0.0-rc.0/lib/types/facade/types.d.ts)

**Package:** [`@univerjs-pro/docs-latex`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/docs-latex.md) · [Type definitions](https://unpkg.com/@univerjs-pro/docs-latex@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)

### `FDocumentParagraph.prependLatex`

Prepends one inline LaTeX formula at the start of this paragraph.

The insert command generates and persists the underlying custom-range id.
LaTeX source must not include `$` or `$$` delimiters.

```typescript
prependLatex(latex: string, options?: IDocsLatexCreateFacadeOptions): FDocumentLatex | null
```

**Parameters**

* `latex` — Required. LaTeX source without delimiters.
* `options` — Optional. Default: `{}`. Optional visual properties.

**Returns**

The inserted formula, or `null` when the command fails.

**Examples**

```ts
const univerAPI = FUniver.newAPI(univer)
const document = univerAPI.getActiveDocument()
if (!document) throw new Error('No active document')

const paragraph = document.appendParagraph(' is the energy equation.')
const formula = paragraph.prependLatex('E = mc^2')
if (!formula) throw new Error('Failed to prepend LaTeX formula')
console.log(formula.describe())
```

**Types:** [`FDocumentLatex`](https://docs.univer.ai/zh-CN/reference/facade/document-latex.md) · [`IDocsLatexCreateFacadeOptions`](https://unpkg.com/@univerjs-pro/docs-latex@1.0.0-rc.0/lib/types/facade/types.d.ts)

**Package:** [`@univerjs-pro/docs-latex`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/docs-latex.md) · [Type definitions](https://unpkg.com/@univerjs-pro/docs-latex@1.0.0-rc.0/lib/types/facade/f-document-paragraph.d.ts)
