//
// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/config/power/android_power_config.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/config/power/android_power_config.proto.
 */
export const file_protos_perfetto_config_power_android_power_config: GenFile = /*@__PURE__*/
  fileDesc("Cjdwcm90b3MvcGVyZmV0dG8vY29uZmlnL3Bvd2VyL2FuZHJvaWRfcG93ZXJfY29uZmlnLnByb3RvEg9wZXJmZXR0by5wcm90b3MiwAMKEkFuZHJvaWRQb3dlckNvbmZpZxIXCg9iYXR0ZXJ5X3BvbGxfbXMYASABKA0STQoQYmF0dGVyeV9jb3VudGVycxgCIAMoDjIzLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkUG93ZXJDb25maWcuQmF0dGVyeUNvdW50ZXJzEhsKE2NvbGxlY3RfcG93ZXJfcmFpbHMYAyABKAgSKwojY29sbGVjdF9lbmVyZ3lfZXN0aW1hdGlvbl9icmVha2Rvd24YBCABKAgSJgoeY29sbGVjdF9lbnRpdHlfc3RhdGVfcmVzaWRlbmN5GAUgASgIIs8BCg9CYXR0ZXJ5Q291bnRlcnMSHwobQkFUVEVSWV9DT1VOVEVSX1VOU1BFQ0lGSUVEEAASGgoWQkFUVEVSWV9DT1VOVEVSX0NIQVJHRRABEiQKIEJBVFRFUllfQ09VTlRFUl9DQVBBQ0lUWV9QRVJDRU5UEAISGwoXQkFUVEVSWV9DT1VOVEVSX0NVUlJFTlQQAxIfChtCQVRURVJZX0NPVU5URVJfQ1VSUkVOVF9BVkcQBBIbChdCQVRURVJZX0NPVU5URVJfVk9MVEFHRRAF");

/**
 * @generated from message perfetto.protos.AndroidPowerConfig
 */
export type AndroidPowerConfig = Message<"perfetto.protos.AndroidPowerConfig"> & {
  /**
   * @generated from field: optional uint32 battery_poll_ms = 1;
   */
  batteryPollMs: number;

  /**
   * @generated from field: repeated perfetto.protos.AndroidPowerConfig.BatteryCounters battery_counters = 2;
   */
  batteryCounters: AndroidPowerConfig_BatteryCounters[];

  /**
   * Where available enables per-power-rail measurements.
   *
   * @generated from field: optional bool collect_power_rails = 3;
   */
  collectPowerRails: boolean;

  /**
   * Provides a breakdown of energy estimation for various subsystem (e.g. GPU).
   * Available from Android S.
   *
   * @generated from field: optional bool collect_energy_estimation_breakdown = 4;
   */
  collectEnergyEstimationBreakdown: boolean;

  /**
   * Provides a breakdown of time in state for various subsystems.
   * Available from Android U.
   *
   * @generated from field: optional bool collect_entity_state_residency = 5;
   */
  collectEntityStateResidency: boolean;
};

/**
 * Describes the message perfetto.protos.AndroidPowerConfig.
 * Use `create(AndroidPowerConfigSchema)` to create a new message.
 */
export const AndroidPowerConfigSchema: GenMessage<AndroidPowerConfig> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_config_power_android_power_config, 0);

/**
 * @generated from enum perfetto.protos.AndroidPowerConfig.BatteryCounters
 */
export enum AndroidPowerConfig_BatteryCounters {
  /**
   * @generated from enum value: BATTERY_COUNTER_UNSPECIFIED = 0;
   */
  BATTERY_COUNTER_UNSPECIFIED = 0,

  /**
   * Coulomb counter.
   *
   * @generated from enum value: BATTERY_COUNTER_CHARGE = 1;
   */
  BATTERY_COUNTER_CHARGE = 1,

  /**
   * Charge (%).
   *
   * @generated from enum value: BATTERY_COUNTER_CAPACITY_PERCENT = 2;
   */
  BATTERY_COUNTER_CAPACITY_PERCENT = 2,

  /**
   * Instantaneous current.
   *
   * @generated from enum value: BATTERY_COUNTER_CURRENT = 3;
   */
  BATTERY_COUNTER_CURRENT = 3,

  /**
   * Avg current.
   *
   * @generated from enum value: BATTERY_COUNTER_CURRENT_AVG = 4;
   */
  BATTERY_COUNTER_CURRENT_AVG = 4,

  /**
   * Instantaneous voltage.
   *
   * @generated from enum value: BATTERY_COUNTER_VOLTAGE = 5;
   */
  BATTERY_COUNTER_VOLTAGE = 5,
}

/**
 * Describes the enum perfetto.protos.AndroidPowerConfig.BatteryCounters.
 */
export const AndroidPowerConfig_BatteryCountersSchema: GenEnum<AndroidPowerConfig_BatteryCounters> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_config_power_android_power_config, 0, 0);

