# ProposedChange

interface

Represents a single, reviewable proposed document change. Holds both the information about the change and its current status.

<a id="properties"></a>

## Properties

<a id="member-afterRange"></a>

### `afterRange: ModelRange` _(inherited)_

What the covered content becomes, represented as a range inside the processed data. The range covers existing elements which were modified or new elements.

In other words, the document change says that `beforeRange` content becomes `afterRange` content.

Note, that the range is placed inside the processed data represented as a model document fragment, not in the actual model document. One processed data model fragment is shared between all document changes in a given set.

Collapsed for a change that only removes content.

<a id="member-aiSource"></a>

### `aiSource?: AIOperationSource` _(inherited)_

Which AI feature produced the change or not set if the change did not come from AI.

See [`aiSource`](module_ai_toolkit_documentcompare-DocumentCompareComputeChangesOptions.md#member-aiSource).

<a id="member-beforeRange"></a>

### `beforeRange: ModelRange` _(inherited)_

What the change covers, represented as a range inside the captured snapshot. The range covers the existing elements which were either removed or modified.

Note, that the range is placed inside the snapshot represented as a model document fragment, not in the actual model document. One snapshot model fragment is shared between all document changes in a given set.

Collapsed for a change that only adds content.

<a id="member-channelId"></a>

### `channelId: string` _(inherited)_

The ID of the document the change was captured from.

<a id="member-emptyReason"></a>

### `emptyReason?: ProposedChangeEmptyReason`

If set, holds a reason why the proposed change yields nothing (no preview to show, and nothing an apply would do).

<a id="member-index"></a>

### `index: number`

The change's position in the [set](module_ai_toolkit_proposedchangescollection-ProposedChangesCollection.md).

Assigned when the set of changes is built, does not change later on.

<a id="member-isReadOnly"></a>

### `isReadOnly?: boolean`

If `true`, the change relates to content that is current in read-only mode and thus the change cannot be applied.

<a id="member-outdatedState"></a>

### `outdatedState?: ProposedChangeOutdatedState`

If set, holds a reason why the proposed change cannot be applied to the current state of the document.

If not set, the change is not outdated and can be applied to the document.

<a id="member-rootName"></a>

### `rootName: string` _(inherited)_

The name of the editor root the change applies to.

<a id="member-sessionId"></a>

### `sessionId: string` _(inherited)_

The editing session ID during which the change was captured.

<a id="member-state"></a>

### `state: ProposedChangeState`

Holds information whether the user has interacted with the proposed document change.

<a id="member-version"></a>

### `version: number` _(inherited)_

The document [version](module_engine_model_document-ModelDocument.md#member-version) for which the change is proposed.

---

Full index of the CKEditor 5 API reference: [llms.txt](llms.txt)
