[
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsIFetchTelemetryDataCallback",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "complete",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "HISTOGRAM_EXPONENTIAL",
            "value": 0
          },
          {
            "name": "HISTOGRAM_LINEAR",
            "value": 1
          },
          {
            "name": "HISTOGRAM_BOOLEAN",
            "value": 2
          },
          {
            "name": "HISTOGRAM_FLAG",
            "value": 3
          },
          {
            "name": "HISTOGRAM_COUNT",
            "value": 4
          },
          {
            "name": "HISTOGRAM_CATEGORICAL",
            "value": 5
          },
          {
            "name": "SCALAR_TYPE_COUNT",
            "value": 0
          },
          {
            "name": "SCALAR_TYPE_STRING",
            "value": 1
          },
          {
            "name": "SCALAR_TYPE_BOOLEAN",
            "value": 2
          },
          {
            "name": "DATASET_ALL_CHANNELS",
            "value": 0
          },
          {
            "name": "DATASET_PRERELEASE_CHANNELS",
            "value": 1
          },
          {
            "name": "INCLUDE_OLD_LOADEVENTS",
            "value": 1
          },
          {
            "name": "KEEP_LOADEVENTS_NEW",
            "value": 2
          },
          {
            "name": "INCLUDE_PRIVATE_FIELDS_IN_LOADEVENTS",
            "value": 4
          },
          {
            "name": "EXCLUDE_STACKINFO_FROM_LOADEVENTS",
            "value": 8
          }
        ],
        "enums": [],
        "id": "nsITelemetry",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "getCategoricalLabels",
            "type": "any"
          },
          {
            "args": [
              {
                "name": "aStoreName",
                "optional": true,
                "type": "string"
              },
              {
                "name": "aClearStore",
                "optional": true,
                "type": "boolean"
              },
              {
                "name": "aFilterTest",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "getSnapshotForHistograms",
            "type": "any"
          },
          {
            "args": [
              {
                "name": "aStoreName",
                "optional": true,
                "type": "string"
              },
              {
                "name": "aClearStore",
                "optional": true,
                "type": "boolean"
              },
              {
                "name": "aFilterTest",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "getSnapshotForKeyedHistograms",
            "type": "any"
          },
          {
            "args": [
              {
                "name": "aStoreName",
                "optional": true,
                "type": "string"
              },
              {
                "name": "aClearStore",
                "optional": true,
                "type": "boolean"
              },
              {
                "name": "aFilterTest",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "getSnapshotForScalars",
            "type": "any"
          },
          {
            "args": [
              {
                "name": "aStoreName",
                "optional": true,
                "type": "string"
              },
              {
                "name": "aClearStore",
                "optional": true,
                "type": "boolean"
              },
              {
                "name": "aFilterTest",
                "optional": true,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "getSnapshotForKeyedScalars",
            "type": "any"
          },
          {
            "name": "lastShutdownDuration",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "failedProfileLockCount",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "slowSQL",
            "readonly": true,
            "type": "any"
          },
          {
            "name": "debugSlowSQL",
            "readonly": true,
            "type": "any"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "submitAndGetUntrustedModulePayload",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "aFlags",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "getUntrustedModuleLoadEvents",
            "type": "Promise<any>"
          },
          {
            "name": "areUntrustedModuleLoadEventsReady",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "id",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getHistogramById",
            "type": "any"
          },
          {
            "args": [
              {
                "name": "id",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getKeyedHistogramById",
            "type": "any"
          },
          {
            "name": "canRecordBase",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "canRecordExtended",
            "readonly": false,
            "type": "boolean"
          },
          {
            "name": "canRecordReleaseData",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "canRecordPrereleaseData",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isOfficialTelemetry",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aCallback",
                "optional": false,
                "type": "nsIFetchTelemetryDataCallback"
              }
            ],
            "iid_is": null,
            "name": "asyncFetchTelemetryData",
            "type": "void"
          },
          {
            "name": "fileIOReports",
            "readonly": true,
            "type": "any"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "msSinceProcessStart",
            "type": "double"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "msSinceProcessStartIncludingSuspend",
            "type": "double"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "msSinceProcessStartExcludingSuspend",
            "type": "double"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "msSystemNow",
            "type": "double"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearScalars",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "flushBatchedChildTelemetry",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aDataset",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aClear",
                "optional": true,
                "type": "boolean"
              },
              {
                "name": "aEventLimit",
                "optional": true,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "snapshotEvents",
            "type": "any"
          },
          {
            "args": [
              {
                "name": "aCategory",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aEventData",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "registerBuiltinEvents",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aCategoryName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aScalarData",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "registerBuiltinScalars",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearEvents",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getAllStores",
            "type": "any"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "earlyInit",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "delayedInit",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "shutdown",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "gatherMemory",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "toolkit/components/telemetry/core/nsITelemetry.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]