---
url: /reference/@cssdoc/json/variables/cssDocSchema.md
---
# Variable: cssDocSchema

```ts
const cssDocSchema: object;
```

Defined in: [emitters/json/src/schema.ts:245](https://github.com/thedannywahl/cssdoc/blob/main/emitters/json/src/schema.ts#L245)

JSON Schema (draft-07) for the whole model: a `CssDocEntry[]`.

## Type Declaration

### $defs

```ts
readonly $defs: object;
```

#### $defs.StructureNode

```ts
readonly StructureNode: object;
```

#### $defs.StructureNode.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### $defs.StructureNode.properties

```ts
readonly properties: object;
```

#### $defs.StructureNode.properties.cardinality

```ts
readonly cardinality: object;
```

#### $defs.StructureNode.properties.cardinality.pattern

```ts
readonly pattern: "^(optional|many|one-or-more|max-\d+|one-or-more-max-\d+)$" = "^(optional|many|one-or-more|max-\d+|one-or-more-max-\d+)$";
```

#### $defs.StructureNode.properties.cardinality.type

```ts
readonly type: "string" = "string";
```

#### $defs.StructureNode.properties.children

```ts
readonly children: object;
```

#### $defs.StructureNode.properties.children.items

```ts
readonly items: object;
```

#### $defs.StructureNode.properties.children.items.$ref

```ts
readonly $ref: "#/$defs/StructureNode" = "#/$defs/StructureNode";
```

#### $defs.StructureNode.properties.children.type

```ts
readonly type: "array" = "array";
```

#### $defs.StructureNode.properties.colocated

```ts
readonly colocated: object;
```

#### $defs.StructureNode.properties.colocated.type

```ts
readonly type: "string" = "string";
```

#### $defs.StructureNode.properties.description

```ts
readonly description: object;
```

#### $defs.StructureNode.properties.description.type

```ts
readonly type: "string" = "string";
```

#### $defs.StructureNode.properties.scope

```ts
readonly scope: object;
```

#### $defs.StructureNode.properties.scope.type

```ts
readonly type: "string" = "string";
```

#### $defs.StructureNode.properties.selector

```ts
readonly selector: object;
```

#### $defs.StructureNode.properties.selector.type

```ts
readonly type: "string" = "string";
```

#### $defs.StructureNode.properties.variants

```ts
readonly variants: object;
```

#### $defs.StructureNode.properties.variants.items

```ts
readonly items: object;
```

#### $defs.StructureNode.properties.variants.items.$ref

```ts
readonly $ref: "#/$defs/StructureVariant" = "#/$defs/StructureVariant";
```

#### $defs.StructureNode.properties.variants.type

```ts
readonly type: "array" = "array";
```

#### $defs.StructureNode.required

```ts
readonly required: readonly ["selector", "children"];
```

#### $defs.StructureNode.type

```ts
readonly type: "object" = "object";
```

#### $defs.StructureVariant

```ts
readonly StructureVariant: object;
```

#### $defs.StructureVariant.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### $defs.StructureVariant.properties

```ts
readonly properties: object;
```

#### $defs.StructureVariant.properties.name

```ts
readonly name: object;
```

#### $defs.StructureVariant.properties.name.type

```ts
readonly type: "string" = "string";
```

#### $defs.StructureVariant.properties.nodes

```ts
readonly nodes: object;
```

#### $defs.StructureVariant.properties.nodes.items

```ts
readonly items: object;
```

#### $defs.StructureVariant.properties.nodes.items.$ref

```ts
readonly $ref: "#/$defs/StructureNode" = "#/$defs/StructureNode";
```

#### $defs.StructureVariant.properties.nodes.type

```ts
readonly type: "array" = "array";
```

#### $defs.StructureVariant.required

```ts
readonly required: readonly ["nodes"];
```

#### $defs.StructureVariant.type

```ts
readonly type: "object" = "object";
```

### $id

```ts
readonly $id: "https://cssdoc.dev/model.schema.json" = "https://cssdoc.dev/model.schema.json";
```

### $schema

```ts
readonly $schema: "http://json-schema.org/draft-07/schema#" = "http://json-schema.org/draft-07/schema#";
```

### description

```ts
readonly description: "The @cssdoc/core documentation model: one entry per documented CSS record." = "The @cssdoc/core documentation model: one entry per documented CSS record.";
```

### items

```ts
readonly items: object = cssDocEntrySchema;
```

#### items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties

```ts
readonly properties: object;
```

#### items.properties.accessibility

```ts
readonly accessibility: object;
```

#### items.properties.accessibility.type

```ts
readonly type: "string" = "string";
```

#### items.properties.animations

```ts
readonly animations: object;
```

#### items.properties.animations.items

```ts
readonly items: object = named;
```

#### items.properties.animations.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.animations.items.properties

```ts
readonly properties: object;
```

#### items.properties.animations.items.properties.description

```ts
readonly description: object;
```

#### items.properties.animations.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.animations.items.properties.name

```ts
readonly name: object;
```

#### items.properties.animations.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.animations.items.required

```ts
readonly required: readonly ["name"];
```

#### items.properties.animations.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.animations.type

```ts
readonly type: "array" = "array";
```

#### items.properties.annotations

```ts
readonly annotations: object;
```

#### items.properties.annotations.items

```ts
readonly items: object;
```

#### items.properties.annotations.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.annotations.items.properties

```ts
readonly properties: object;
```

#### items.properties.annotations.items.properties.ref

```ts
readonly ref: object;
```

#### items.properties.annotations.items.properties.ref.type

```ts
readonly type: "number" = "number";
```

#### items.properties.annotations.items.properties.text

```ts
readonly text: object;
```

#### items.properties.annotations.items.properties.text.type

```ts
readonly type: "string" = "string";
```

#### items.properties.annotations.items.required

```ts
readonly required: readonly ["ref", "text"];
```

#### items.properties.annotations.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.annotations.type

```ts
readonly type: "array" = "array";
```

#### items.properties.className

```ts
readonly className: object;
```

#### items.properties.className.type

```ts
readonly type: "string" = "string";
```

#### items.properties.compat

```ts
readonly compat: object;
```

#### items.properties.compat.items

```ts
readonly items: object;
```

#### items.properties.compat.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.compat.type

```ts
readonly type: "array" = "array";
```

#### items.properties.conditions

```ts
readonly conditions: object;
```

#### items.properties.conditions.items

```ts
readonly items: object;
```

#### items.properties.conditions.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.conditions.items.properties

```ts
readonly properties: object;
```

#### items.properties.conditions.items.properties.containerName

```ts
readonly containerName: object;
```

#### items.properties.conditions.items.properties.containerName.type

```ts
readonly type: "string" = "string";
```

#### items.properties.conditions.items.properties.description

```ts
readonly description: object;
```

#### items.properties.conditions.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.conditions.items.properties.query

```ts
readonly query: object;
```

#### items.properties.conditions.items.properties.query.type

```ts
readonly type: "string" = "string";
```

#### items.properties.conditions.items.properties.type

```ts
readonly type: object;
```

#### items.properties.conditions.items.properties.type.enum

```ts
readonly enum: readonly ["container", "supports", "media"];
```

#### items.properties.conditions.items.required

```ts
readonly required: readonly ["type", "query"];
```

#### items.properties.conditions.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.conditions.type

```ts
readonly type: "array" = "array";
```

#### items.properties.cssPropertiesConsumed

```ts
readonly cssPropertiesConsumed: object;
```

#### items.properties.cssPropertiesConsumed.items

```ts
readonly items: object = named;
```

#### items.properties.cssPropertiesConsumed.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.cssPropertiesConsumed.items.properties

```ts
readonly properties: object;
```

#### items.properties.cssPropertiesConsumed.items.properties.description

```ts
readonly description: object;
```

#### items.properties.cssPropertiesConsumed.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.cssPropertiesConsumed.items.properties.name

```ts
readonly name: object;
```

#### items.properties.cssPropertiesConsumed.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.cssPropertiesConsumed.items.required

```ts
readonly required: readonly ["name"];
```

#### items.properties.cssPropertiesConsumed.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.cssPropertiesConsumed.type

```ts
readonly type: "array" = "array";
```

#### items.properties.cssPropertiesDeclared

```ts
readonly cssPropertiesDeclared: object;
```

#### items.properties.cssPropertiesDeclared.items

```ts
readonly items: object;
```

#### items.properties.cssPropertiesDeclared.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.cssPropertiesDeclared.items.properties

```ts
readonly properties: object;
```

#### items.properties.cssPropertiesDeclared.items.properties.defaultValue

```ts
readonly defaultValue: object;
```

#### items.properties.cssPropertiesDeclared.items.properties.defaultValue.type

```ts
readonly type: "string" = "string";
```

#### items.properties.cssPropertiesDeclared.items.properties.description

```ts
readonly description: object;
```

#### items.properties.cssPropertiesDeclared.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.cssPropertiesDeclared.items.properties.inherits

```ts
readonly inherits: object;
```

#### items.properties.cssPropertiesDeclared.items.properties.inherits.type

```ts
readonly type: "boolean" = "boolean";
```

#### items.properties.cssPropertiesDeclared.items.properties.name

```ts
readonly name: object;
```

#### items.properties.cssPropertiesDeclared.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.cssPropertiesDeclared.items.properties.syntax

```ts
readonly syntax: object;
```

#### items.properties.cssPropertiesDeclared.items.properties.syntax.type

```ts
readonly type: "string" = "string";
```

#### items.properties.cssPropertiesDeclared.items.required

```ts
readonly required: readonly ["name"];
```

#### items.properties.cssPropertiesDeclared.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.cssPropertiesDeclared.type

```ts
readonly type: "array" = "array";
```

#### items.properties.customBlocks

```ts
readonly customBlocks: object;
```

#### items.properties.customBlocks.additionalProperties

```ts
readonly additionalProperties: object;
```

#### items.properties.customBlocks.additionalProperties.items

```ts
readonly items: object;
```

#### items.properties.customBlocks.additionalProperties.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.customBlocks.additionalProperties.type

```ts
readonly type: "array" = "array";
```

#### items.properties.customBlocks.type

```ts
readonly type: "object" = "object";
```

#### items.properties.decorators

```ts
readonly decorators: object;
```

#### items.properties.decorators.items

```ts
readonly items: object;
```

#### items.properties.decorators.items.enum

```ts
readonly enum: readonly ["readonly", "preventExtensions", "sealed", "frozen"];
```

#### items.properties.decorators.type

```ts
readonly type: "array" = "array";
```

#### items.properties.demo

```ts
readonly demo: object;
```

#### items.properties.demo.type

```ts
readonly type: "string" = "string";
```

#### items.properties.deprecated

```ts
readonly deprecated: object;
```

#### items.properties.deprecated.type

```ts
readonly type: "string" = "string";
```

#### items.properties.elements

```ts
readonly elements: object;
```

#### items.properties.elements.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.elements.properties

```ts
readonly properties: object;
```

#### items.properties.elements.properties.default

```ts
readonly default: object = elementProfile;
```

#### items.properties.elements.properties.default.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.elements.properties.default.properties

```ts
readonly properties: object;
```

#### items.properties.elements.properties.default.properties.allowed

```ts
readonly allowed: object;
```

#### items.properties.elements.properties.default.properties.allowed.items

```ts
readonly items: object;
```

#### items.properties.elements.properties.default.properties.allowed.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.elements.properties.default.properties.allowed.type

```ts
readonly type: "array" = "array";
```

#### items.properties.elements.properties.default.properties.any

```ts
readonly any: object;
```

#### items.properties.elements.properties.default.properties.any.type

```ts
readonly type: "boolean" = "boolean";
```

#### items.properties.elements.properties.default.properties.exclude

```ts
readonly exclude: object;
```

#### items.properties.elements.properties.default.properties.exclude.items

```ts
readonly items: object;
```

#### items.properties.elements.properties.default.properties.exclude.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.elements.properties.default.properties.exclude.type

```ts
readonly type: "array" = "array";
```

#### items.properties.elements.properties.default.properties.excludedGroups

```ts
readonly excludedGroups: object;
```

#### items.properties.elements.properties.default.properties.excludedGroups.items

```ts
readonly items: object;
```

#### items.properties.elements.properties.default.properties.excludedGroups.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.elements.properties.default.properties.excludedGroups.type

```ts
readonly type: "array" = "array";
```

#### items.properties.elements.properties.default.properties.groups

```ts
readonly groups: object;
```

#### items.properties.elements.properties.default.properties.groups.items

```ts
readonly items: object;
```

#### items.properties.elements.properties.default.properties.groups.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.elements.properties.default.properties.groups.type

```ts
readonly type: "array" = "array";
```

#### items.properties.elements.properties.default.properties.include

```ts
readonly include: object;
```

#### items.properties.elements.properties.default.properties.include.items

```ts
readonly items: object;
```

#### items.properties.elements.properties.default.properties.include.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.elements.properties.default.properties.include.type

```ts
readonly type: "array" = "array";
```

#### items.properties.elements.properties.default.required

```ts
readonly required: readonly ["any", "allowed", "include", "exclude", "groups", "excludedGroups"];
```

#### items.properties.elements.properties.default.type

```ts
readonly type: "object" = "object";
```

#### items.properties.elements.properties.profiles

```ts
readonly profiles: object;
```

#### items.properties.elements.properties.profiles.additionalProperties

```ts
readonly additionalProperties: object = elementProfile;
```

#### items.properties.elements.properties.profiles.additionalProperties.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties

```ts
readonly properties: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.allowed

```ts
readonly allowed: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.allowed.items

```ts
readonly items: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.allowed.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.allowed.type

```ts
readonly type: "array" = "array";
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.any

```ts
readonly any: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.any.type

```ts
readonly type: "boolean" = "boolean";
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.exclude

```ts
readonly exclude: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.exclude.items

```ts
readonly items: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.exclude.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.exclude.type

```ts
readonly type: "array" = "array";
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.excludedGroups

```ts
readonly excludedGroups: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.excludedGroups.items

```ts
readonly items: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.excludedGroups.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.excludedGroups.type

```ts
readonly type: "array" = "array";
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.groups

```ts
readonly groups: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.groups.items

```ts
readonly items: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.groups.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.groups.type

```ts
readonly type: "array" = "array";
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.include

```ts
readonly include: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.include.items

```ts
readonly items: object;
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.include.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.elements.properties.profiles.additionalProperties.properties.include.type

```ts
readonly type: "array" = "array";
```

#### items.properties.elements.properties.profiles.additionalProperties.required

```ts
readonly required: readonly ["any", "allowed", "include", "exclude", "groups", "excludedGroups"];
```

#### items.properties.elements.properties.profiles.additionalProperties.type

```ts
readonly type: "object" = "object";
```

#### items.properties.elements.properties.profiles.type

```ts
readonly type: "object" = "object";
```

#### items.properties.elements.required

```ts
readonly required: readonly ["default", "profiles"];
```

#### items.properties.elements.type

```ts
readonly type: "object" = "object";
```

#### items.properties.examples

```ts
readonly examples: object;
```

#### items.properties.examples.items

```ts
readonly items: object;
```

#### items.properties.examples.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.examples.type

```ts
readonly type: "array" = "array";
```

#### items.properties.functions

```ts
readonly functions: object;
```

#### items.properties.functions.items

```ts
readonly items: object;
```

#### items.properties.functions.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.functions.items.properties

```ts
readonly properties: object;
```

#### items.properties.functions.items.properties.description

```ts
readonly description: object;
```

#### items.properties.functions.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.functions.items.properties.name

```ts
readonly name: object;
```

#### items.properties.functions.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.functions.items.properties.parameters

```ts
readonly parameters: object;
```

#### items.properties.functions.items.properties.parameters.items

```ts
readonly items: object;
```

#### items.properties.functions.items.properties.parameters.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.functions.items.properties.parameters.type

```ts
readonly type: "array" = "array";
```

#### items.properties.functions.items.properties.result

```ts
readonly result: object;
```

#### items.properties.functions.items.properties.result.type

```ts
readonly type: "string" = "string";
```

#### items.properties.functions.items.required

```ts
readonly required: readonly ["name", "parameters"];
```

#### items.properties.functions.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.functions.type

```ts
readonly type: "array" = "array";
```

#### items.properties.group

```ts
readonly group: object;
```

#### items.properties.group.type

```ts
readonly type: "string" = "string";
```

#### items.properties.kind

```ts
readonly kind: object;
```

#### items.properties.kind.enum

```ts
readonly enum: readonly ["component", "utility", "rule", "declaration", "layout"];
```

#### items.properties.layers

```ts
readonly layers: object;
```

#### items.properties.layers.items

```ts
readonly items: object = named;
```

#### items.properties.layers.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.layers.items.properties

```ts
readonly properties: object;
```

#### items.properties.layers.items.properties.description

```ts
readonly description: object;
```

#### items.properties.layers.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.layers.items.properties.name

```ts
readonly name: object;
```

#### items.properties.layers.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.layers.items.required

```ts
readonly required: readonly ["name"];
```

#### items.properties.layers.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.layers.type

```ts
readonly type: "array" = "array";
```

#### items.properties.memberDeclarations

```ts
readonly memberDeclarations: object;
```

#### items.properties.memberDeclarations.items

```ts
readonly items: object;
```

#### items.properties.memberDeclarations.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.memberDeclarations.items.properties

```ts
readonly properties: object;
```

#### items.properties.memberDeclarations.items.properties.name

```ts
readonly name: object;
```

#### items.properties.memberDeclarations.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.memberDeclarations.items.properties.private

```ts
readonly private: object;
```

#### items.properties.memberDeclarations.items.properties.private.type

```ts
readonly type: "boolean" = "boolean";
```

#### items.properties.memberDeclarations.items.required

```ts
readonly required: readonly ["name", "private"];
```

#### items.properties.memberDeclarations.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.memberDeclarations.type

```ts
readonly type: "array" = "array";
```

#### items.properties.memberOf

```ts
readonly memberOf: object;
```

#### items.properties.memberOf.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.memberOf.properties

```ts
readonly properties: object;
```

#### items.properties.memberOf.properties.component

```ts
readonly component: object;
```

#### items.properties.memberOf.properties.component.type

```ts
readonly type: "string" = "string";
```

#### items.properties.memberOf.properties.private

```ts
readonly private: object;
```

#### items.properties.memberOf.properties.private.type

```ts
readonly type: "boolean" = "boolean";
```

#### items.properties.memberOf.required

```ts
readonly required: readonly ["component", "private"];
```

#### items.properties.memberOf.type

```ts
readonly type: "object" = "object";
```

#### items.properties.members

```ts
readonly members: object;
```

#### items.properties.members.items

```ts
readonly items: object;
```

#### items.properties.members.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.members.type

```ts
readonly type: "array" = "array";
```

#### items.properties.modifiers

```ts
readonly modifiers: object;
```

#### items.properties.modifiers.items

```ts
readonly items: object = modifier;
```

#### items.properties.modifiers.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.modifiers.items.properties

```ts
readonly properties: object;
```

#### items.properties.modifiers.items.properties.alias

```ts
readonly alias: object;
```

#### items.properties.modifiers.items.properties.alias.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.modifiers.items.properties.alias.properties

```ts
readonly properties: object;
```

#### items.properties.modifiers.items.properties.alias.properties.canonical

```ts
readonly canonical: object;
```

#### items.properties.modifiers.items.properties.alias.properties.canonical.type

```ts
readonly type: "string" = "string";
```

#### items.properties.modifiers.items.properties.alias.properties.note

```ts
readonly note: object;
```

#### items.properties.modifiers.items.properties.alias.properties.note.type

```ts
readonly type: "string" = "string";
```

#### items.properties.modifiers.items.properties.alias.type

```ts
readonly type: "object" = "object";
```

#### items.properties.modifiers.items.properties.deprecated

```ts
readonly deprecated: object;
```

#### items.properties.modifiers.items.properties.deprecated.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.modifiers.items.properties.deprecated.properties

```ts
readonly properties: object;
```

#### items.properties.modifiers.items.properties.deprecated.properties.canonical

```ts
readonly canonical: object;
```

#### items.properties.modifiers.items.properties.deprecated.properties.canonical.type

```ts
readonly type: "string" = "string";
```

#### items.properties.modifiers.items.properties.deprecated.properties.note

```ts
readonly note: object;
```

#### items.properties.modifiers.items.properties.deprecated.properties.note.type

```ts
readonly type: "string" = "string";
```

#### items.properties.modifiers.items.properties.deprecated.type

```ts
readonly type: "object" = "object";
```

#### items.properties.modifiers.items.properties.description

```ts
readonly description: object;
```

#### items.properties.modifiers.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.modifiers.items.properties.name

```ts
readonly name: object;
```

#### items.properties.modifiers.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.modifiers.items.properties.pattern

```ts
readonly pattern: object;
```

#### items.properties.modifiers.items.properties.pattern.type

```ts
readonly type: "boolean" = "boolean";
```

#### items.properties.modifiers.items.properties.prop

```ts
readonly prop: object;
```

#### items.properties.modifiers.items.properties.prop.type

```ts
readonly type: "string" = "string";
```

#### items.properties.modifiers.items.properties.value

```ts
readonly value: object;
```

#### items.properties.modifiers.items.properties.value.type

```ts
readonly type: "string" = "string";
```

#### items.properties.modifiers.items.required

```ts
readonly required: readonly ["name", "prop"];
```

#### items.properties.modifiers.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.modifiers.type

```ts
readonly type: "array" = "array";
```

#### items.properties.name

```ts
readonly name: object;
```

#### items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.parts

```ts
readonly parts: object;
```

#### items.properties.parts.items

```ts
readonly items: object = part;
```

#### items.properties.parts.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.parts.items.properties

```ts
readonly properties: object;
```

#### items.properties.parts.items.properties.description

```ts
readonly description: object;
```

#### items.properties.parts.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.parts.items.properties.modifiers

```ts
readonly modifiers: object;
```

#### items.properties.parts.items.properties.modifiers.items

```ts
readonly items: object = modifier;
```

#### items.properties.parts.items.properties.modifiers.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.parts.items.properties.modifiers.items.properties

```ts
readonly properties: object;
```

#### items.properties.parts.items.properties.modifiers.items.properties.alias

```ts
readonly alias: object;
```

#### items.properties.parts.items.properties.modifiers.items.properties.alias.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.parts.items.properties.modifiers.items.properties.alias.properties

```ts
readonly properties: object;
```

#### items.properties.parts.items.properties.modifiers.items.properties.alias.properties.canonical

```ts
readonly canonical: ...;
```

#### items.properties.parts.items.properties.modifiers.items.properties.alias.properties.note

```ts
readonly note: ...;
```

#### items.properties.parts.items.properties.modifiers.items.properties.alias.type

```ts
readonly type: "object" = "object";
```

#### items.properties.parts.items.properties.modifiers.items.properties.deprecated

```ts
readonly deprecated: object;
```

#### items.properties.parts.items.properties.modifiers.items.properties.deprecated.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.parts.items.properties.modifiers.items.properties.deprecated.properties

```ts
readonly properties: object;
```

#### items.properties.parts.items.properties.modifiers.items.properties.deprecated.properties.canonical

```ts
readonly canonical: ...;
```

#### items.properties.parts.items.properties.modifiers.items.properties.deprecated.properties.note

```ts
readonly note: ...;
```

#### items.properties.parts.items.properties.modifiers.items.properties.deprecated.type

```ts
readonly type: "object" = "object";
```

#### items.properties.parts.items.properties.modifiers.items.properties.description

```ts
readonly description: object;
```

#### items.properties.parts.items.properties.modifiers.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.parts.items.properties.modifiers.items.properties.name

```ts
readonly name: object;
```

#### items.properties.parts.items.properties.modifiers.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.parts.items.properties.modifiers.items.properties.pattern

```ts
readonly pattern: object;
```

#### items.properties.parts.items.properties.modifiers.items.properties.pattern.type

```ts
readonly type: "boolean" = "boolean";
```

#### items.properties.parts.items.properties.modifiers.items.properties.prop

```ts
readonly prop: object;
```

#### items.properties.parts.items.properties.modifiers.items.properties.prop.type

```ts
readonly type: "string" = "string";
```

#### items.properties.parts.items.properties.modifiers.items.properties.value

```ts
readonly value: object;
```

#### items.properties.parts.items.properties.modifiers.items.properties.value.type

```ts
readonly type: "string" = "string";
```

#### items.properties.parts.items.properties.modifiers.items.required

```ts
readonly required: readonly ["name", "prop"];
```

#### items.properties.parts.items.properties.modifiers.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.parts.items.properties.modifiers.type

```ts
readonly type: "array" = "array";
```

#### items.properties.parts.items.properties.name

```ts
readonly name: object;
```

#### items.properties.parts.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.parts.items.required

```ts
readonly required: readonly ["name"];
```

#### items.properties.parts.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.parts.type

```ts
readonly type: "array" = "array";
```

#### items.properties.privateRemarks

```ts
readonly privateRemarks: object;
```

#### items.properties.privateRemarks.type

```ts
readonly type: "string" = "string";
```

#### items.properties.pseudoElements

```ts
readonly pseudoElements: object;
```

#### items.properties.pseudoElements.items

```ts
readonly items: object = named;
```

#### items.properties.pseudoElements.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.pseudoElements.items.properties

```ts
readonly properties: object;
```

#### items.properties.pseudoElements.items.properties.description

```ts
readonly description: object;
```

#### items.properties.pseudoElements.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.pseudoElements.items.properties.name

```ts
readonly name: object;
```

#### items.properties.pseudoElements.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.pseudoElements.items.required

```ts
readonly required: readonly ["name"];
```

#### items.properties.pseudoElements.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.pseudoElements.type

```ts
readonly type: "array" = "array";
```

#### items.properties.refs

```ts
readonly refs: object;
```

#### items.properties.refs.items

```ts
readonly items: object;
```

#### items.properties.refs.items.type

```ts
readonly type: "number" = "number";
```

#### items.properties.refs.type

```ts
readonly type: "array" = "array";
```

#### items.properties.related

```ts
readonly related: object;
```

#### items.properties.related.items

```ts
readonly items: object = named;
```

#### items.properties.related.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.related.items.properties

```ts
readonly properties: object;
```

#### items.properties.related.items.properties.description

```ts
readonly description: object;
```

#### items.properties.related.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.related.items.properties.name

```ts
readonly name: object;
```

#### items.properties.related.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.related.items.required

```ts
readonly required: readonly ["name"];
```

#### items.properties.related.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.related.type

```ts
readonly type: "array" = "array";
```

#### items.properties.releaseStage

```ts
readonly releaseStage: object;
```

#### items.properties.releaseStage.enum

```ts
readonly enum: readonly ["alpha", "beta", "experimental", "internal", "public"];
```

#### items.properties.remarks

```ts
readonly remarks: object;
```

#### items.properties.remarks.type

```ts
readonly type: "string" = "string";
```

#### items.properties.see

```ts
readonly see: object;
```

#### items.properties.see.items

```ts
readonly items: object;
```

#### items.properties.see.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.see.type

```ts
readonly type: "array" = "array";
```

#### items.properties.shadowParts

```ts
readonly shadowParts: object;
```

#### items.properties.shadowParts.items

```ts
readonly items: object = named;
```

#### items.properties.shadowParts.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.shadowParts.items.properties

```ts
readonly properties: object;
```

#### items.properties.shadowParts.items.properties.description

```ts
readonly description: object;
```

#### items.properties.shadowParts.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.shadowParts.items.properties.name

```ts
readonly name: object;
```

#### items.properties.shadowParts.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.shadowParts.items.required

```ts
readonly required: readonly ["name"];
```

#### items.properties.shadowParts.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.shadowParts.type

```ts
readonly type: "array" = "array";
```

#### items.properties.since

```ts
readonly since: object;
```

#### items.properties.since.type

```ts
readonly type: "string" = "string";
```

#### items.properties.slots

```ts
readonly slots: object;
```

#### items.properties.slots.items

```ts
readonly items: object = named;
```

#### items.properties.slots.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.slots.items.properties

```ts
readonly properties: object;
```

#### items.properties.slots.items.properties.description

```ts
readonly description: object;
```

#### items.properties.slots.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.slots.items.properties.name

```ts
readonly name: object;
```

#### items.properties.slots.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.slots.items.required

```ts
readonly required: readonly ["name"];
```

#### items.properties.slots.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.slots.type

```ts
readonly type: "array" = "array";
```

#### items.properties.source

```ts
readonly source: object;
```

#### items.properties.source.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.source.properties

```ts
readonly properties: object;
```

#### items.properties.source.properties.column

```ts
readonly column: object;
```

#### items.properties.source.properties.column.type

```ts
readonly type: "number" = "number";
```

#### items.properties.source.properties.file

```ts
readonly file: object;
```

#### items.properties.source.properties.file.type

```ts
readonly type: "string" = "string";
```

#### items.properties.source.properties.line

```ts
readonly line: object;
```

#### items.properties.source.properties.line.type

```ts
readonly type: "number" = "number";
```

#### items.properties.source.type

```ts
readonly type: "object" = "object";
```

#### items.properties.states

```ts
readonly states: object;
```

#### items.properties.states.items

```ts
readonly items: object = state;
```

#### items.properties.states.items.additionalProperties

```ts
readonly additionalProperties: false = false;
```

#### items.properties.states.items.properties

```ts
readonly properties: object;
```

#### items.properties.states.items.properties.description

```ts
readonly description: object;
```

#### items.properties.states.items.properties.description.type

```ts
readonly type: "string" = "string";
```

#### items.properties.states.items.properties.kind

```ts
readonly kind: object;
```

#### items.properties.states.items.properties.kind.enum

```ts
readonly enum: readonly ["custom", "pseudo-class", "class"];
```

#### items.properties.states.items.properties.name

```ts
readonly name: object;
```

#### items.properties.states.items.properties.name.type

```ts
readonly type: "string" = "string";
```

#### items.properties.states.items.required

```ts
readonly required: readonly ["name", "kind"];
```

#### items.properties.states.items.type

```ts
readonly type: "object" = "object";
```

#### items.properties.states.type

```ts
readonly type: "array" = "array";
```

#### items.properties.structure

```ts
readonly structure: object;
```

#### items.properties.structure.items

```ts
readonly items: object;
```

#### items.properties.structure.items.$ref

```ts
readonly $ref: "#/$defs/StructureNode" = "#/$defs/StructureNode";
```

#### items.properties.structure.type

```ts
readonly type: "array" = "array";
```

#### items.properties.structureDescription

```ts
readonly structureDescription: object;
```

#### items.properties.structureDescription.type

```ts
readonly type: "string" = "string";
```

#### items.properties.structureVariants

```ts
readonly structureVariants: object;
```

#### items.properties.structureVariants.items

```ts
readonly items: object;
```

#### items.properties.structureVariants.items.$ref

```ts
readonly $ref: "#/$defs/StructureVariant" = "#/$defs/StructureVariant";
```

#### items.properties.structureVariants.type

```ts
readonly type: "array" = "array";
```

#### items.properties.summary

```ts
readonly summary: object;
```

#### items.properties.summary.type

```ts
readonly type: "string" = "string";
```

#### items.properties.todos

```ts
readonly todos: object;
```

#### items.properties.todos.items

```ts
readonly items: object;
```

#### items.properties.todos.items.type

```ts
readonly type: "string" = "string";
```

#### items.properties.todos.type

```ts
readonly type: "array" = "array";
```

#### items.properties.usage

```ts
readonly usage: object;
```

#### items.properties.usage.type

```ts
readonly type: "string" = "string";
```

#### items.required

```ts
readonly required: readonly ["name", "kind", "className", "modifiers", "parts", "shadowParts", "pseudoElements", "states", "slots", "todos", "cssPropertiesConsumed", "cssPropertiesDeclared", "functions", "animations", "layers", "conditions", "examples", "see", "annotations", "refs", "decorators", "compat", "related"];
```

#### items.type

```ts
readonly type: "object" = "object";
```

### title

```ts
readonly title: "cssdoc model" = "cssdoc model";
```

### type

```ts
readonly type: "array" = "array";
```
