//
// Copyright (C) 2022 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/translation/translation_table.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/trace/translation/translation_table.proto.
 */
export const file_protos_perfetto_trace_translation_translation_table: GenFile = /*@__PURE__*/
  fileDesc("Cjlwcm90b3MvcGVyZmV0dG8vdHJhY2UvdHJhbnNsYXRpb24vdHJhbnNsYXRpb25fdGFibGUucHJvdG8SD3BlcmZldHRvLnByb3RvcyLtAwoQVHJhbnNsYXRpb25UYWJsZRJNChBjaHJvbWVfaGlzdG9ncmFtGAEgASgLMjEucGVyZmV0dG8ucHJvdG9zLkNocm9tZUhpc3RvcmdyYW1UcmFuc2xhdGlvblRhYmxlSAASTQoRY2hyb21lX3VzZXJfZXZlbnQYAiABKAsyMC5wZXJmZXR0by5wcm90b3MuQ2hyb21lVXNlckV2ZW50VHJhbnNsYXRpb25UYWJsZUgAElkKF2Nocm9tZV9wZXJmb3JtYW5jZV9tYXJrGAMgASgLMjYucGVyZmV0dG8ucHJvdG9zLkNocm9tZVBlcmZvcm1hbmNlTWFya1RyYW5zbGF0aW9uVGFibGVIABJACgpzbGljZV9uYW1lGAQgASgLMioucGVyZmV0dG8ucHJvdG9zLlNsaWNlTmFtZVRyYW5zbGF0aW9uVGFibGVIABJPChJwcm9jZXNzX3RyYWNrX25hbWUYBSABKAsyMS5wZXJmZXR0by5wcm90b3MuUHJvY2Vzc1RyYWNrTmFtZVRyYW5zbGF0aW9uVGFibGVIABJECgxjaHJvbWVfc3R1ZHkYBiABKAsyLC5wZXJmZXR0by5wcm90b3MuQ2hyb21lU3R1ZHlUcmFuc2xhdGlvblRhYmxlSABCBwoFdGFibGUirgEKIENocm9tZUhpc3RvcmdyYW1UcmFuc2xhdGlvblRhYmxlElcKDGhhc2hfdG9fbmFtZRgBIAMoCzJBLnBlcmZldHRvLnByb3Rvcy5DaHJvbWVIaXN0b3JncmFtVHJhbnNsYXRpb25UYWJsZS5IYXNoVG9OYW1lRW50cnkaMQoPSGFzaFRvTmFtZUVudHJ5EgsKA2tleRgBIAEoBBINCgV2YWx1ZRgCIAEoCToCOAEivwEKH0Nocm9tZVVzZXJFdmVudFRyYW5zbGF0aW9uVGFibGUSYwoTYWN0aW9uX2hhc2hfdG9fbmFtZRgBIAMoCzJGLnBlcmZldHRvLnByb3Rvcy5DaHJvbWVVc2VyRXZlbnRUcmFuc2xhdGlvblRhYmxlLkFjdGlvbkhhc2hUb05hbWVFbnRyeRo3ChVBY3Rpb25IYXNoVG9OYW1lRW50cnkSCwoDa2V5GAEgASgEEg0KBXZhbHVlGAIgASgJOgI4ASLjAgolQ2hyb21lUGVyZm9ybWFuY2VNYXJrVHJhbnNsYXRpb25UYWJsZRJlChFzaXRlX2hhc2hfdG9fbmFtZRgBIAMoCzJKLnBlcmZldHRvLnByb3Rvcy5DaHJvbWVQZXJmb3JtYW5jZU1hcmtUcmFuc2xhdGlvblRhYmxlLlNpdGVIYXNoVG9OYW1lRW50cnkSZQoRbWFya19oYXNoX3RvX25hbWUYAiADKAsySi5wZXJmZXR0by5wcm90b3MuQ2hyb21lUGVyZm9ybWFuY2VNYXJrVHJhbnNsYXRpb25UYWJsZS5NYXJrSGFzaFRvTmFtZUVudHJ5GjUKE1NpdGVIYXNoVG9OYW1lRW50cnkSCwoDa2V5GAEgASgNEg0KBXZhbHVlGAIgASgJOgI4ARo1ChNNYXJrSGFzaFRvTmFtZUVudHJ5EgsKA2tleRgBIAEoDRINCgV2YWx1ZRgCIAEoCToCOAEiwgEKGVNsaWNlTmFtZVRyYW5zbGF0aW9uVGFibGUSZwoYcmF3X3RvX2Rlb2JmdXNjYXRlZF9uYW1lGAEgAygLMkUucGVyZmV0dG8ucHJvdG9zLlNsaWNlTmFtZVRyYW5zbGF0aW9uVGFibGUuUmF3VG9EZW9iZnVzY2F0ZWROYW1lRW50cnkaPAoaUmF3VG9EZW9iZnVzY2F0ZWROYW1lRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLQAQogUHJvY2Vzc1RyYWNrTmFtZVRyYW5zbGF0aW9uVGFibGUSbgoYcmF3X3RvX2Rlb2JmdXNjYXRlZF9uYW1lGAEgAygLMkwucGVyZmV0dG8ucHJvdG9zLlByb2Nlc3NUcmFja05hbWVUcmFuc2xhdGlvblRhYmxlLlJhd1RvRGVvYmZ1c2NhdGVkTmFtZUVudHJ5GjwKGlJhd1RvRGVvYmZ1c2NhdGVkTmFtZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEipAEKG0Nocm9tZVN0dWR5VHJhbnNsYXRpb25UYWJsZRJSCgxoYXNoX3RvX25hbWUYASADKAsyPC5wZXJmZXR0by5wcm90b3MuQ2hyb21lU3R1ZHlUcmFuc2xhdGlvblRhYmxlLkhhc2hUb05hbWVFbnRyeRoxCg9IYXNoVG9OYW1lRW50cnkSCwoDa2V5GAEgASgEEg0KBXZhbHVlGAIgASgJOgI4AQ");

/**
 * Translation rules for the trace processor.
 * See the comments for each rule type for specific meaning.
 *
 * @generated from message perfetto.protos.TranslationTable
 */
export type TranslationTable = Message<"perfetto.protos.TranslationTable"> & {
  /**
   * @generated from oneof perfetto.protos.TranslationTable.table
   */
  table: {
    /**
     * @generated from field: perfetto.protos.ChromeHistorgramTranslationTable chrome_histogram = 1;
     */
    value: ChromeHistorgramTranslationTable;
    case: "chromeHistogram";
  } | {
    /**
     * @generated from field: perfetto.protos.ChromeUserEventTranslationTable chrome_user_event = 2;
     */
    value: ChromeUserEventTranslationTable;
    case: "chromeUserEvent";
  } | {
    /**
     * @generated from field: perfetto.protos.ChromePerformanceMarkTranslationTable chrome_performance_mark = 3;
     */
    value: ChromePerformanceMarkTranslationTable;
    case: "chromePerformanceMark";
  } | {
    /**
     * @generated from field: perfetto.protos.SliceNameTranslationTable slice_name = 4;
     */
    value: SliceNameTranslationTable;
    case: "sliceName";
  } | {
    /**
     * @generated from field: perfetto.protos.ProcessTrackNameTranslationTable process_track_name = 5;
     */
    value: ProcessTrackNameTranslationTable;
    case: "processTrackName";
  } | {
    /**
     * @generated from field: perfetto.protos.ChromeStudyTranslationTable chrome_study = 6;
     */
    value: ChromeStudyTranslationTable;
    case: "chromeStudy";
  } | { case: undefined; value?: undefined };
};

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

/**
 * Chrome histogram sample hash -> name translation rules.
 *
 * @generated from message perfetto.protos.ChromeHistorgramTranslationTable
 */
export type ChromeHistorgramTranslationTable = Message<"perfetto.protos.ChromeHistorgramTranslationTable"> & {
  /**
   * @generated from field: map<uint64, string> hash_to_name = 1;
   */
  hashToName: { [key: string]: string };
};

/**
 * Describes the message perfetto.protos.ChromeHistorgramTranslationTable.
 * Use `create(ChromeHistorgramTranslationTableSchema)` to create a new message.
 */
export const ChromeHistorgramTranslationTableSchema: GenMessage<ChromeHistorgramTranslationTable> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_translation_translation_table, 1);

/**
 * Chrome user event action hash -> name translation rules.
 *
 * @generated from message perfetto.protos.ChromeUserEventTranslationTable
 */
export type ChromeUserEventTranslationTable = Message<"perfetto.protos.ChromeUserEventTranslationTable"> & {
  /**
   * @generated from field: map<uint64, string> action_hash_to_name = 1;
   */
  actionHashToName: { [key: string]: string };
};

/**
 * Describes the message perfetto.protos.ChromeUserEventTranslationTable.
 * Use `create(ChromeUserEventTranslationTableSchema)` to create a new message.
 */
export const ChromeUserEventTranslationTableSchema: GenMessage<ChromeUserEventTranslationTable> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_translation_translation_table, 2);

/**
 * Chrome performance mark translation rules.
 *
 * @generated from message perfetto.protos.ChromePerformanceMarkTranslationTable
 */
export type ChromePerformanceMarkTranslationTable = Message<"perfetto.protos.ChromePerformanceMarkTranslationTable"> & {
  /**
   * @generated from field: map<uint32, string> site_hash_to_name = 1;
   */
  siteHashToName: { [key: number]: string };

  /**
   * @generated from field: map<uint32, string> mark_hash_to_name = 2;
   */
  markHashToName: { [key: number]: string };
};

/**
 * Describes the message perfetto.protos.ChromePerformanceMarkTranslationTable.
 * Use `create(ChromePerformanceMarkTranslationTableSchema)` to create a new message.
 */
export const ChromePerformanceMarkTranslationTableSchema: GenMessage<ChromePerformanceMarkTranslationTable> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_translation_translation_table, 3);

/**
 * Raw -> deobfuscated slice name translation rules.
 *
 * @generated from message perfetto.protos.SliceNameTranslationTable
 */
export type SliceNameTranslationTable = Message<"perfetto.protos.SliceNameTranslationTable"> & {
  /**
   * @generated from field: map<string, string> raw_to_deobfuscated_name = 1;
   */
  rawToDeobfuscatedName: { [key: string]: string };
};

/**
 * Describes the message perfetto.protos.SliceNameTranslationTable.
 * Use `create(SliceNameTranslationTableSchema)` to create a new message.
 */
export const SliceNameTranslationTableSchema: GenMessage<SliceNameTranslationTable> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_translation_translation_table, 4);

/**
 * Raw -> deobfuscated process track name translation rules.
 *
 * @generated from message perfetto.protos.ProcessTrackNameTranslationTable
 */
export type ProcessTrackNameTranslationTable = Message<"perfetto.protos.ProcessTrackNameTranslationTable"> & {
  /**
   * @generated from field: map<string, string> raw_to_deobfuscated_name = 1;
   */
  rawToDeobfuscatedName: { [key: string]: string };
};

/**
 * Describes the message perfetto.protos.ProcessTrackNameTranslationTable.
 * Use `create(ProcessTrackNameTranslationTableSchema)` to create a new message.
 */
export const ProcessTrackNameTranslationTableSchema: GenMessage<ProcessTrackNameTranslationTable> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_translation_translation_table, 5);

/**
 * Chrome study hash -> name translation rules.
 *
 * @generated from message perfetto.protos.ChromeStudyTranslationTable
 */
export type ChromeStudyTranslationTable = Message<"perfetto.protos.ChromeStudyTranslationTable"> & {
  /**
   * @generated from field: map<uint64, string> hash_to_name = 1;
   */
  hashToName: { [key: string]: string };
};

/**
 * Describes the message perfetto.protos.ChromeStudyTranslationTable.
 * Use `create(ChromeStudyTranslationTableSchema)` to create a new message.
 */
export const ChromeStudyTranslationTableSchema: GenMessage<ChromeStudyTranslationTable> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_translation_translation_table, 6);

