//
// 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/test_extensions.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { extDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { TrackEvent } from "./track_event/track_event_pb";
import { file_protos_perfetto_trace_track_event_track_event } from "./track_event/track_event_pb";
import type { DebugAnnotation } from "./track_event/debug_annotation_pb";
import { file_protos_perfetto_trace_track_event_debug_annotation } from "./track_event/debug_annotation_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/trace/test_extensions.proto.
 */
export const file_protos_perfetto_trace_test_extensions: GenFile = /*@__PURE__*/
  fileDesc("Citwcm90b3MvcGVyZmV0dG8vdHJhY2UvdGVzdF9leHRlbnNpb25zLnByb3RvEg9wZXJmZXR0by5wcm90b3Mi+AQKDVRlc3RFeHRlbnNpb24yXQocc3RyaW5nX2V4dGVuc2lvbl9mb3JfdGVzdGluZxIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GKxNIAEoCVIZc3RyaW5nRXh0ZW5zaW9uRm9yVGVzdGluZzJfCh1zdHJpbmdfZXh0ZW5zaW9uX2Zvcl90ZXN0aW5nMhIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GLFNIAEoCVIac3RyaW5nRXh0ZW5zaW9uRm9yVGVzdGluZzIyVwoZaW50X2V4dGVuc2lvbl9mb3JfdGVzdGluZxIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GK1NIAMoBVIWaW50RXh0ZW5zaW9uRm9yVGVzdGluZzJfCh1vbWl0dGVkX2V4dGVuc2lvbl9mb3JfdGVzdGluZxIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GK5NIAEoCVIab21pdHRlZEV4dGVuc2lvbkZvclRlc3RpbmcykQEKJG5lc3RlZF9tZXNzYWdlX2V4dGVuc2lvbl9mb3JfdGVzdGluZxIbLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50GK9NIAEoCzIjLnBlcmZldHRvLnByb3Rvcy5UZXN0RXh0ZW5zaW9uQ2hpbGRSIG5lc3RlZE1lc3NhZ2VFeHRlbnNpb25Gb3JUZXN0aW5nMlkKGnVpbnRfZXh0ZW5zaW9uX2Zvcl90ZXN0aW5nEhsucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnQYsE0gASgNUhd1aW50RXh0ZW5zaW9uRm9yVGVzdGluZyJyChJUZXN0RXh0ZW5zaW9uQ2hpbGQSHwoXY2hpbGRfZmllbGRfZm9yX3Rlc3RpbmcYASABKAkSOwoRZGVidWdfYW5ub3RhdGlvbnMYYyADKAsyIC5wZXJmZXR0by5wcm90b3MuRGVidWdBbm5vdGF0aW9uUAA", [file_protos_perfetto_trace_track_event_track_event, file_protos_perfetto_trace_track_event_debug_annotation]);

/**
 * Extensions for TrackEvent used for integration testing. This proto file is
 * compiled to descriptor and is used in tools/diff_test_trace_processor.py.
 *
 * See docs/design-docs/extensions.md for more details.
 *
 * @generated from message perfetto.protos.TestExtension
 */
export type TestExtension = Message<"perfetto.protos.TestExtension"> & {
};

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

/**
 * @generated from extension: optional string string_extension_for_testing = 9900;
 */
export const TestExtension_string_extension_for_testing: GenExtension<TrackEvent, string> = /*@__PURE__*/
  extDesc(file_protos_perfetto_trace_test_extensions, 0, 0);

/**
 * @generated from extension: optional string string_extension_for_testing2 = 9905;
 */
export const TestExtension_string_extension_for_testing2: GenExtension<TrackEvent, string> = /*@__PURE__*/
  extDesc(file_protos_perfetto_trace_test_extensions, 0, 1);

/**
 * @generated from extension: repeated int32 int_extension_for_testing = 9901;
 */
export const TestExtension_int_extension_for_testing: GenExtension<TrackEvent, number[]> = /*@__PURE__*/
  extDesc(file_protos_perfetto_trace_test_extensions, 0, 2);

/**
 * @generated from extension: optional string omitted_extension_for_testing = 9902;
 */
export const TestExtension_omitted_extension_for_testing: GenExtension<TrackEvent, string> = /*@__PURE__*/
  extDesc(file_protos_perfetto_trace_test_extensions, 0, 3);

/**
 * @generated from extension: optional perfetto.protos.TestExtensionChild nested_message_extension_for_testing = 9903;
 */
export const TestExtension_nested_message_extension_for_testing: GenExtension<TrackEvent, TestExtensionChild> = /*@__PURE__*/
  extDesc(file_protos_perfetto_trace_test_extensions, 0, 4);

/**
 * @generated from extension: optional uint32 uint_extension_for_testing = 9904;
 */
export const TestExtension_uint_extension_for_testing: GenExtension<TrackEvent, number> = /*@__PURE__*/
  extDesc(file_protos_perfetto_trace_test_extensions, 0, 5);

/**
 * @generated from message perfetto.protos.TestExtensionChild
 */
export type TestExtensionChild = Message<"perfetto.protos.TestExtensionChild"> & {
  /**
   * @generated from field: optional string child_field_for_testing = 1;
   */
  childFieldForTesting: string;

  /**
   * @generated from field: repeated perfetto.protos.DebugAnnotation debug_annotations = 99;
   */
  debugAnnotations: DebugAnnotation[];
};

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

