# RichEditorDocument

Source: /tuil/docs/reference/packages/editor/api/rich-editor-document
Locale: en

interface exported by @mwillbanks/tuil-editor.



{/* Generated by tooling/docs/generate-reference.ts. */}

## interface [#interface]

Public interface exported by `@mwillbanks/tuil-editor`.

```ts
export interface RichEditorDocument {
  snapshot(): RichDocument;
  dispatch(transaction: RichTransaction): RichDocument;
  undo(): boolean;
  redo(): boolean;
  serialize(format?: "json" | "markdown"): string;
}
```

## Members [#members]

| Member      | Type                                             | Required | Description                                                                               | Related types                                                                                                                                  |
| ----------- | ------------------------------------------------ | -------- | ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `snapshot`  | `() => RichDocument`                             | Yes      | The `snapshot` member uses the `() => RichDocument` contract.                             | [`RichDocument`](/tuil/docs/reference/packages/editor/api/rich-document)                                                                            |
| `dispatch`  | `(transaction: RichTransaction) => RichDocument` | Yes      | The `dispatch` member uses the `(transaction: RichTransaction) => RichDocument` contract. | [`RichDocument`](/tuil/docs/reference/packages/editor/api/rich-document), [`RichTransaction`](/tuil/docs/reference/packages/editor/api/rich-transaction) |
| `undo`      | `() => boolean`                                  | Yes      | The `undo` member uses the `() => boolean` contract.                                      | —                                                                                                                                              |
| `redo`      | `() => boolean`                                  | Yes      | The `redo` member uses the `() => boolean` contract.                                      | —                                                                                                                                              |
| `serialize` | `(format?: "json" \| "markdown") => string`      | Yes      | The `serialize` member uses the `(format?: "json" \| "markdown") => string` contract.     | —                                                                                                                                              |

## Parameters [#parameters]

This declaration has no public members.

## Returns [#returns]

This declaration does not return a value.

## Throws [#throws]

No thrown errors are documented for this declaration.

## Related types [#related-types]

* [`RichDocument`](/tuil/docs/reference/packages/editor/api/rich-document)
* [`RichTransaction`](/tuil/docs/reference/packages/editor/api/rich-transaction)

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/packages/editor/src/rich.ts)

## Package [#package]

[@mwillbanks/tuil-editor](/tuil/docs/reference/packages/editor)
