# ModelTreeWalkerOptions

interface

The configuration of TreeWalker.

All parameters are optional, but you have to specify either `boundaries` or `startPosition`.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-engine/src/model/treewalker.ts#L452)

<a id="properties">

## Properties

<a id="member-boundaries">

### `boundaries?: ModelRange | null`

Range to define boundaries of the iterator.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-engine/src/model/treewalker.ts#L464)

<a id="member-direction">

### `direction?: ModelTreeWalkerDirection`

Walking direction.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-engine/src/model/treewalker.ts#L459)

Defaults to `'forward'`

<a id="member-ignoreElementEnd">

### `ignoreElementEnd?: boolean`

Flag indicating whether iterator should ignore `elementEnd` tags. If the option is true walker will not return a parent node of start position. If this option is `true` each [`ModelElement`](module_engine_model_element-ModelElement.md) will be returned once, while if the option is `false` they might be returned twice: for `'elementStart'` and `'elementEnd'`.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-engine/src/model/treewalker.ts#L490)

<a id="member-shallow">

### `shallow?: boolean`

Flag indicating whether iterator should enter elements or not. If the iterator is shallow child nodes of any iterated node will not be returned along with `elementEnd` tag.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-engine/src/model/treewalker.ts#L482)

<a id="member-singleCharacters">

### `singleCharacters?: boolean`

Flag indicating whether all consecutive characters with the same attributes should be returned one by one as multiple [`ModelTextProxy`](module_engine_model_textproxy-ModelTextProxy.md) (`true`) objects or as one [`ModelTextProxy`](module_engine_model_textproxy-ModelTextProxy.md) (`false`).

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-engine/src/model/treewalker.ts#L476)

<a id="member-startPosition">

### `startPosition?: ModelPosition`

Starting position.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-engine/src/model/treewalker.ts#L469)

---

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