//
// Copyright (C) 2017 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_event.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 { 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_event.proto.
 */
export const file_protos_perfetto_trace_test_event: GenFile = /*@__PURE__*/
  fileDesc("CiZwcm90b3MvcGVyZmV0dG8vdHJhY2UvdGVzdF9ldmVudC5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIvsCCglUZXN0RXZlbnQSCwoDc3RyGAEgASgJEhEKCXNlcV92YWx1ZRgCIAEoDRIPCgdjb3VudGVyGAMgASgEEg8KB2lzX2xhc3QYBCABKAgSNwoHcGF5bG9hZBgFIAEoCzImLnBlcmZldHRvLnByb3Rvcy5UZXN0RXZlbnQuVGVzdFBheWxvYWQa8gEKC1Rlc3RQYXlsb2FkEgsKA3N0chgBIAMoCRI2CgZuZXN0ZWQYAiADKAsyJi5wZXJmZXR0by5wcm90b3MuVGVzdEV2ZW50LlRlc3RQYXlsb2FkEhUKDXNpbmdsZV9zdHJpbmcYBCABKAkSEgoKc2luZ2xlX2ludBgFIAEoBRIVCg1yZXBlYXRlZF9pbnRzGAYgAygFEh8KF3JlbWFpbmluZ19uZXN0aW5nX2RlcHRoGAMgASgNEjsKEWRlYnVnX2Fubm90YXRpb25zGAcgAygLMiAucGVyZmV0dG8ucHJvdG9zLkRlYnVnQW5ub3RhdGlvbg", [file_protos_perfetto_trace_track_event_debug_annotation]);

/**
 * Event used by testing code.
 *
 * @generated from message perfetto.protos.TestEvent
 */
export type TestEvent = Message<"perfetto.protos.TestEvent"> & {
  /**
   * Arbitrary string used in tests.
   *
   * @generated from field: optional string str = 1;
   */
  str: string;

  /**
   * The current value of the random number sequence used in tests.
   *
   * @generated from field: optional uint32 seq_value = 2;
   */
  seqValue: number;

  /**
   * Monotonically increased on each packet.
   *
   * @generated from field: optional uint64 counter = 3;
   */
  counter: bigint;

  /**
   * No more packets should follow (from the current sequence).
   *
   * @generated from field: optional bool is_last = 4;
   */
  isLast: boolean;

  /**
   * @generated from field: optional perfetto.protos.TestEvent.TestPayload payload = 5;
   */
  payload?: TestEvent_TestPayload;
};

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

/**
 * @generated from message perfetto.protos.TestEvent.TestPayload
 */
export type TestEvent_TestPayload = Message<"perfetto.protos.TestEvent.TestPayload"> & {
  /**
   * @generated from field: repeated string str = 1;
   */
  str: string[];

  /**
   * @generated from field: repeated perfetto.protos.TestEvent.TestPayload nested = 2;
   */
  nested: TestEvent_TestPayload[];

  /**
   * @generated from field: optional string single_string = 4;
   */
  singleString: string;

  /**
   * @generated from field: optional int32 single_int = 5;
   */
  singleInt: number;

  /**
   * @generated from field: repeated int32 repeated_ints = 6;
   */
  repeatedInts: number[];

  /**
   * When 0 this is the bottom-most nested message.
   *
   * @generated from field: optional uint32 remaining_nesting_depth = 3;
   */
  remainingNestingDepth: number;

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

/**
 * Describes the message perfetto.protos.TestEvent.TestPayload.
 * Use `create(TestEvent_TestPayloadSchema)` to create a new message.
 */
export const TestEvent_TestPayloadSchema: GenMessage<TestEvent_TestPayload> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_test_event, 0, 0);

