// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// ChromeOS Diagnostics API.
//
// Prototype API used to retrieve diagnostics information from the system, e.g.
// CPU/memory usage statistics and OS information.
//
// Available to window LaCrOS main frames when enabled.
interface CrosDiagnostics {
// Retrieves diagnostics information of the CPU.
//
// Returns a promise containing diagnostics information
// of the CPU, e.g. model name, utilization and temperature.
[CallWith=ScriptState] Promise<CrosCpuInfo> getCpuInfo();
// Retrieves diagnostics information on network interfaces.
//
// Returns a promise containing diagnostics information on each network interface
// attached to the system, e.g. network name and the associated IP address.
[CallWith=ScriptState] Promise<sequence<CrosNetworkInterface>> getNetworkInterfaces();
};