# `webpack.serialization` Types

These types are not exported by webpack, but they are available to TypeScript consumers.

## Interface: `ObjectDeserializerContextObjectMiddlewareObject_3`

Updates set size using the provided set.

### Properties

* `read` {() => Head<T>}
* `rest` {ObjectDeserializerContextObjectMiddlewareObject_3<Tail<T>>}
* `setCircularReference` {(value: ReferenceableItem) => void}

***

## Interface: `ObjectDeserializerContextObjectMiddlewareObject_4`

Updates set size using the provided set.

### Properties

* `read` {() => any}
* `rest` {ObjectDeserializerContextObjectMiddlewareObject_3<readonly any[]>}
* `setCircularReference` {(value: ReferenceableItem) => void}

***

## Interface: `ObjectSerializerContextObjectMiddlewareObject_4`

Updates set size using the provided set.

### Properties

* `rollback` {(snapshot: ObjectSerializerSnapshot) => void}
* `setCircularReference` {(value: ReferenceableItem) => void}
* `snapshot` {() => ObjectSerializerSnapshot}
* `write` {(value: Head<T>) => ObjectSerializerContextObjectMiddlewareObject_4<Tail<T>>}
* `writeLazy` {(item?: any) => void}
* `writeSeparate` {(item: any, obj?: LazyOptions) => LazyFunction<any, any, any, LazyOptions>}

***

## Interface: `ObjectSerializerContextObjectMiddlewareObject_5`

Updates set size using the provided set.

### Properties

* `rollback` {(snapshot: ObjectSerializerSnapshot) => void}
* `setCircularReference` {(value: ReferenceableItem) => void}
* `snapshot` {() => ObjectSerializerSnapshot}
* `write` {(value?: any) => ObjectSerializerContextObjectMiddlewareObject_4<readonly any[]>}
* `writeLazy` {(item?: any) => void}
* `writeSeparate` {(item: any, obj?: LazyOptions) => LazyFunction<any, any, any, LazyOptions>}

***

## Interface: `ObjectSerializerSnapshot`

Updates set size using the provided set.

### Properties

* `currentPos` {number}
* `currentPosTypeLookup` {number}
* `cycleStackSize` {number}
* `length` {number}
* `objectTypeLookupSize` {number}
* `referenceableSize` {number}

***

## Type: `ObjectDeserializerContext`

* Type: {typeof ObjectDeserializerContextObjectMiddlewareObject_2}

***

## Type: `ObjectSerializerContext`

* Type: {typeof ObjectSerializerContextObjectMiddlewareObject_3}
