//
// Copyright (C) 2020 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/trace/track_event/chrome_renderer_scheduler_state.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/trace/track_event/chrome_renderer_scheduler_state.proto.
 */
export const file_protos_perfetto_trace_track_event_chrome_renderer_scheduler_state: GenFile = /*@__PURE__*/
  fileDesc("Ckdwcm90b3MvcGVyZmV0dG8vdHJhY2UvdHJhY2tfZXZlbnQvY2hyb21lX3JlbmRlcmVyX3NjaGVkdWxlcl9zdGF0ZS5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIn4KHENocm9tZVJlbmRlcmVyU2NoZWR1bGVyU3RhdGUSMgoJcmFpbF9tb2RlGAEgASgOMh8ucGVyZmV0dG8ucHJvdG9zLkNocm9tZVJBSUxNb2RlEhcKD2lzX2JhY2tncm91bmRlZBgCIAEoCBIRCglpc19oaWRkZW4YAyABKAgqfQoOQ2hyb21lUkFJTE1vZGUSEgoOUkFJTF9NT0RFX05PTkUQABIWChJSQUlMX01PREVfUkVTUE9OU0UQARIXChNSQUlMX01PREVfQU5JTUFUSU9OEAISEgoOUkFJTF9NT0RFX0lETEUQAxISCg5SQUlMX01PREVfTE9BRBAE");

/**
 * @generated from message perfetto.protos.ChromeRendererSchedulerState
 */
export type ChromeRendererSchedulerState = Message<"perfetto.protos.ChromeRendererSchedulerState"> & {
  /**
   * @generated from field: optional perfetto.protos.ChromeRAILMode rail_mode = 1;
   */
  railMode: ChromeRAILMode;

  /**
   * @generated from field: optional bool is_backgrounded = 2;
   */
  isBackgrounded: boolean;

  /**
   * @generated from field: optional bool is_hidden = 3;
   */
  isHidden: boolean;
};

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

/**
 * RAIL Mode is an indication of the kind of work that a Renderer is currently
 * performing which is in turn used to prioritise work accordingly.
 * A fuller description of these modes can be found https://web.dev/rail/
 *
 * @generated from enum perfetto.protos.ChromeRAILMode
 */
export enum ChromeRAILMode {
  /**
   * @generated from enum value: RAIL_MODE_NONE = 0;
   */
  RAIL_MODE_NONE = 0,

  /**
   * @generated from enum value: RAIL_MODE_RESPONSE = 1;
   */
  RAIL_MODE_RESPONSE = 1,

  /**
   * @generated from enum value: RAIL_MODE_ANIMATION = 2;
   */
  RAIL_MODE_ANIMATION = 2,

  /**
   * @generated from enum value: RAIL_MODE_IDLE = 3;
   */
  RAIL_MODE_IDLE = 3,

  /**
   * @generated from enum value: RAIL_MODE_LOAD = 4;
   */
  RAIL_MODE_LOAD = 4,
}

/**
 * Describes the enum perfetto.protos.ChromeRAILMode.
 */
export const ChromeRAILModeSchema: GenEnum<ChromeRAILMode> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_track_event_chrome_renderer_scheduler_state, 0);

