{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "my-element.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "MyElement",
          "members": [
            {
              "kind": "field",
              "name": "decoratedProperty",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "attribute": "decoratedProperty"
            },
            {
              "kind": "field",
              "name": "decoratedPropertyAlsoAttr",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "attribute": "my-attr2"
            },
            {
              "kind": "field",
              "name": "decoratedPropertyNoAttr",
              "type": {
                "text": "array"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "decoratedReflect",
              "attribute": "decoratedReflect",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "decoratedReflect2",
              "attribute": "decorated-reflect",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "prop1",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "'foo'",
              "description": "this is the description",
              "attribute": "prop1"
            },
            {
              "kind": "field",
              "name": "prop2",
              "privacy": "public",
              "attribute": "prop2"
            },
            {
              "kind": "field",
              "name": "attr",
              "privacy": "public",
              "attribute": "my-attr"
            },
            {
              "kind": "field",
              "name": "noAttr",
              "privacy": "public"
            },
            {
              "kind": "field",
              "name": "_privateProp",
              "privacy": "private",
              "type": {
                "text": "Boolean"
              },
              "attribute": "_privateProp"
            },
            {
              "kind": "field",
              "name": "reflect",
              "privacy": "public",
              "attribute": "reflect",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "reflect2",
              "privacy": "public",
              "attribute": "reflect-2",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "my-attr",
              "fieldName": "attr"
            },
            {
              "name": "decoratedProperty",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "fieldName": "decoratedProperty"
            },
            {
              "name": "my-attr2",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "fieldName": "decoratedPropertyAlsoAttr"
            },
            {
              "name": "decoratedReflect",
              "fieldName": "decoratedReflect"
            },
            {
              "name": "decorated-reflect",
              "fieldName": "decoratedReflect2"
            },
            {
              "name": "prop1",
              "type": {
                "text": "string"
              },
              "default": "'foo'",
              "description": "this is the description",
              "fieldName": "prop1"
            },
            {
              "name": "prop2",
              "fieldName": "prop2"
            },
            {
              "name": "_privateProp",
              "type": {
                "text": "Boolean"
              },
              "fieldName": "_privateProp"
            },
            {
              "name": "reflect",
              "fieldName": "reflect"
            },
            {
              "name": "reflect-2",
              "fieldName": "reflect2"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit-element"
          },
          "tagName": "my-element",
          "customElement": true
        },
        {
          "kind": "mixin",
          "description": "Picks up @property decorator on mixins as well",
          "name": "InputMixin",
          "members": [
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "this description never gets picked up by the analyzer. \nso we lose some info about default values and the fact it is both property and attribute",
              "attribute": "disabled"
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "this description never gets picked up by the analyzer. \nso we lose some info about default values and the fact it is both property and attribute",
              "fieldName": "disabled"
            }
          ],
          "parameters": [
            {
              "name": "superClass"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "my-element",
          "declaration": {
            "name": "MyElement",
            "module": "my-element.js"
          }
        },
        {
          "kind": "js",
          "name": "InputMixin",
          "declaration": {
            "name": "InputMixin",
            "module": "my-element.js"
          }
        }
      ]
    }
  ]
}