//
// Copyright (C) 2019 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/metrics/android/powrails_metric.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

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

/**
 * Describes the file protos/perfetto/metrics/android/powrails_metric.proto.
 */
export const file_protos_perfetto_metrics_android_powrails_metric: GenFile = /*@__PURE__*/
  fileDesc("CjVwcm90b3MvcGVyZmV0dG8vbWV0cmljcy9hbmRyb2lkL3Bvd3JhaWxzX21ldHJpYy5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIqsCChFBbmRyb2lkUG93ZXJSYWlscxJCCgtwb3dlcl9yYWlscxgBIAMoCzItLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkUG93ZXJSYWlscy5Qb3dlclJhaWxzEh8KF2F2Z190b3RhbF91c2VkX3Bvd2VyX213GAIgASgBGjYKCkVuZXJneURhdGESFAoMdGltZXN0YW1wX21zGAEgASgDEhIKCmVuZXJneV91d3MYAiABKAEaeQoKUG93ZXJSYWlscxIMCgRuYW1lGAEgASgJEkIKC2VuZXJneV9kYXRhGAIgAygLMi0ucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRQb3dlclJhaWxzLkVuZXJneURhdGESGQoRYXZnX3VzZWRfcG93ZXJfbXcYAyABKAE");

/**
 * @generated from message perfetto.protos.AndroidPowerRails
 */
export type AndroidPowerRails = Message<"perfetto.protos.AndroidPowerRails"> & {
  /**
   * Energy data per Power Rail.
   *
   * @generated from field: repeated perfetto.protos.AndroidPowerRails.PowerRails power_rails = 1;
   */
  powerRails: AndroidPowerRails_PowerRails[];

  /**
   * The average used power between the first and last sampled rail across all
   * the rails in milliwatts (mw).
   *
   * @generated from field: optional double avg_total_used_power_mw = 2;
   */
  avgTotalUsedPowerMw: number;
};

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

/**
 * Energy data per Power Rail at given ts.
 *
 * @generated from message perfetto.protos.AndroidPowerRails.EnergyData
 */
export type AndroidPowerRails_EnergyData = Message<"perfetto.protos.AndroidPowerRails.EnergyData"> & {
  /**
   * Time since device boot(CLOCK_BOTTOMTIME) in milli-seconds.
   *
   * @generated from field: optional int64 timestamp_ms = 1;
   */
  timestampMs: bigint;

  /**
   * Accumulated energy since device boot in microwatt-seconds(uws).
   *
   * @generated from field: optional double energy_uws = 2;
   */
  energyUws: number;
};

/**
 * Describes the message perfetto.protos.AndroidPowerRails.EnergyData.
 * Use `create(AndroidPowerRails_EnergyDataSchema)` to create a new message.
 */
export const AndroidPowerRails_EnergyDataSchema: GenMessage<AndroidPowerRails_EnergyData> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_powrails_metric, 0, 0);

/**
 * @generated from message perfetto.protos.AndroidPowerRails.PowerRails
 */
export type AndroidPowerRails_PowerRails = Message<"perfetto.protos.AndroidPowerRails.PowerRails"> & {
  /**
   * Name of the rail.
   *
   * @generated from field: optional string name = 1;
   */
  name: string;

  /**
   * Energy data for given rail and for all samples in the trace.
   *
   * @generated from field: repeated perfetto.protos.AndroidPowerRails.EnergyData energy_data = 2;
   */
  energyData: AndroidPowerRails_EnergyData[];

  /**
   * The average used power between the first and the last sampled
   * energy data in miliwatt (mw)
   *
   * @generated from field: optional double avg_used_power_mw = 3;
   */
  avgUsedPowerMw: number;
};

/**
 * Describes the message perfetto.protos.AndroidPowerRails.PowerRails.
 * Use `create(AndroidPowerRails_PowerRailsSchema)` to create a new message.
 */
export const AndroidPowerRails_PowerRailsSchema: GenMessage<AndroidPowerRails_PowerRails> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_powrails_metric, 0, 1);

