{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/zywave-analytics.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "`ZywaveAnalyticsElement` defines a configurable way to communicate with our centralized analytics tracking. Note: it's highly preferred to use `ZywaveShellElement` to do this for you; this should only be used if you cannot use `ZywaveShellElement`.",
          "name": "ZywaveAnalyticsElement",
          "members": [
            {
              "kind": "field",
              "name": "heapAppId",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The app id to use when communicating with Heap.\nIf not specified, the `/shell/v2.0/analyticsinfo` API will be used.",
              "attribute": "heap-app-id"
            },
            {
              "kind": "field",
              "name": "appcuesAccountId",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The account id to use when communicating with Appcues.\nIf not specified, the `/shell/v2.0/analyticsinfo` API will be used.",
              "attribute": "appcues-account-id"
            },
            {
              "kind": "field",
              "name": "identity",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "A uniquely identifying string for the authenticated user. For most apps, this should be in the form `${profileTypeCode}~${profileId}`.\nIf not specified, the `/shell/v2.0/analyticsinfo` API will be used.",
              "attribute": "identity"
            },
            {
              "kind": "field",
              "name": "userProperties",
              "type": {
                "text": "UserProperties | null"
              },
              "default": "null",
              "description": "An optional property to directly add `userProperties` to analytics utilities.\n`givenName`, `familyName`, and `email` are common properties to be used across all platforms; you can provide more properties to this object where applicable.",
              "attribute": "user-properties"
            },
            {
              "kind": "field",
              "name": "defer",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If specified, will prevent scripts from loading and analytics being configured until after the document has been parsed",
              "attribute": "defer"
            },
            {
              "kind": "field",
              "name": "cdnHost",
              "type": {
                "text": "string | null"
              },
              "default": "DEFAULT_CDN_HOST",
              "description": "If provided, will set the CDN host for all external script loading.",
              "attribute": "cdn-host"
            },
            {
              "kind": "field",
              "name": "#activityTrackingIntervalId",
              "privacy": "private",
              "type": {
                "text": "number | undefined"
              }
            },
            {
              "kind": "field",
              "name": "#isConfigBased",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_userProperties",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#analyticsData",
              "privacy": "private",
              "type": {
                "text": "AnalyticsInfo | undefined"
              }
            },
            {
              "kind": "field",
              "name": "#userData",
              "privacy": "private",
              "type": {
                "text": "UserInfo | undefined"
              }
            },
            {
              "kind": "field",
              "name": "#analyticsDataLoaded",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "method",
              "name": "#configureAnalytics",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "track",
              "parameters": [
                {
                  "name": "eventName",
                  "type": {
                    "text": "string"
                  },
                  "description": "Name of the event to track"
                },
                {
                  "name": "payload",
                  "optional": true,
                  "type": {
                    "text": "Record<string, unknown>"
                  },
                  "description": "Optional payload to pass to the event"
                }
              ],
              "description": "Method used to track custom events."
            },
            {
              "kind": "method",
              "name": "#loadAnalyticsInfo",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#loadUserInfo",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#configureActivityTracker",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#recordActivities",
              "privacy": "private",
              "parameters": [
                {
                  "name": "tracker",
                  "type": {
                    "text": "typeof ActivityTracker"
                  }
                }
              ]
            },
            {
              "type": {
                "text": "string | null"
              },
              "description": "Provide the base URL to the Zywave APIs e.g., https://api.zywave.com/ (Note: the trailing slash is critical, especially if the base URL includes a path.)",
              "name": "apiBaseUrl",
              "default": "null",
              "kind": "field"
            },
            {
              "type": {
                "text": "string | null"
              },
              "description": "(optional) Provide a Zywave bearer token for authorization",
              "name": "bearerToken",
              "default": "null",
              "kind": "field"
            },
            {
              "type": {
                "text": "string | null"
              },
              "description": "(optional) Provide the explicit profile token that your application understands this user to be accessing",
              "name": "profileToken",
              "default": "null",
              "kind": "field"
            }
          ],
          "events": [
            {
              "name": "load",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired when analytics scripts have finished loading"
            }
          ],
          "attributes": [
            {
              "type": {
                "text": "string | null"
              },
              "description": "Provide the base URL to the Zywave APIs e.g., https://api.zywave.com/ (Note: the trailing slash is critical, especially if the base URL includes a path.)",
              "name": "api-base-url",
              "default": "null"
            },
            {
              "type": {
                "text": "string | null"
              },
              "description": "(optional) Provide a Zywave bearer token for authorization",
              "name": "bearer-token",
              "default": "null"
            },
            {
              "type": {
                "text": "string | null"
              },
              "description": "(optional) Provide the explicit profile token that your application understands this user to be accessing",
              "name": "profile-token",
              "default": "null"
            },
            {
              "name": "heap-app-id",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The app id to use when communicating with Heap.\nIf not specified, the `/shell/v2.0/analyticsinfo` API will be used.",
              "fieldName": "heapAppId"
            },
            {
              "name": "appcues-account-id",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The account id to use when communicating with Appcues.\nIf not specified, the `/shell/v2.0/analyticsinfo` API will be used.",
              "fieldName": "appcuesAccountId"
            },
            {
              "name": "identity",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "A uniquely identifying string for the authenticated user. For most apps, this should be in the form `${profileTypeCode}~${profileId}`.\nIf not specified, the `/shell/v2.0/analyticsinfo` API will be used.",
              "fieldName": "identity"
            },
            {
              "name": "user-properties",
              "type": {
                "text": "UserProperties | null"
              },
              "default": "null",
              "description": "An optional property to directly add `userProperties` to analytics utilities.\n`givenName`, `familyName`, and `email` are common properties to be used across all platforms; you can provide more properties to this object where applicable.",
              "fieldName": "userProperties"
            },
            {
              "name": "defer",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If specified, will prevent scripts from loading and analytics being configured until after the document has been parsed",
              "fieldName": "defer"
            },
            {
              "name": "cdn-host",
              "type": {
                "text": "string | null"
              },
              "default": "DEFAULT_CDN_HOST",
              "description": "If provided, will set the CDN host for all external script loading.",
              "fieldName": "cdnHost"
            }
          ],
          "superclass": {
            "name": "ZywaveBaseElement",
            "package": "@zywave/zywave-base"
          },
          "tagName": "zywave-analytics",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ZywaveAnalyticsElement",
          "declaration": {
            "name": "ZywaveAnalyticsElement",
            "module": "src/zywave-analytics.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "zywave-analytics",
          "declaration": {
            "name": "ZywaveAnalyticsElement",
            "module": "src/zywave-analytics.ts"
          }
        }
      ]
    }
  ]
}
