Namespace JSONOutput

Contains interfaces which describe the JSON output. Each interface is related to a specific type of serializer.


Plugins which modify the serialization process can use declaration merging to add custom properties to the exported interfaces. For example, if your custom serializer adds a property to all Reflection objects:

declare module 'typedoc/dist/lib/serialization/schema' {
export interface AbstractReflection {
myCustomProp: boolean

If a plugin defines a new Model type, ModelToObject will not pick up the serializer type and the resulting type will not be included in the return type of Serializer.toObject. To fix this, use declaration merging to augment the Serializer class.

declare module 'typedoc/dist/lib/serialization/serializer' {
export interface Serializer {
toObject(value: CustomModel, obj?: Partial<CustomModel>): CustomOutput

For documentation on the JSON output properties, view the corresponding model.