//
// 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/config/data_source_config.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 { AndroidGameInterventionListConfig } from "./android/android_game_intervention_list_config_pb";
import { file_protos_perfetto_config_android_android_game_intervention_list_config } from "./android/android_game_intervention_list_config_pb";
import type { AndroidInputEventConfig } from "./android/android_input_event_config_pb";
import { file_protos_perfetto_config_android_android_input_event_config } from "./android/android_input_event_config_pb";
import type { AndroidLogConfig } from "./android/android_log_config_pb";
import { file_protos_perfetto_config_android_android_log_config } from "./android/android_log_config_pb";
import type { AndroidPolledStateConfig } from "./android/android_polled_state_config_pb";
import { file_protos_perfetto_config_android_android_polled_state_config } from "./android/android_polled_state_config_pb";
import type { AndroidSystemPropertyConfig } from "./android/android_system_property_config_pb";
import { file_protos_perfetto_config_android_android_system_property_config } from "./android/android_system_property_config_pb";
import type { AndroidSdkSyspropGuardConfig } from "./android/android_sdk_sysprop_guard_config_pb";
import { file_protos_perfetto_config_android_android_sdk_sysprop_guard_config } from "./android/android_sdk_sysprop_guard_config_pb";
import type { NetworkPacketTraceConfig } from "./android/network_trace_config_pb";
import { file_protos_perfetto_config_android_network_trace_config } from "./android/network_trace_config_pb";
import type { PackagesListConfig } from "./android/packages_list_config_pb";
import { file_protos_perfetto_config_android_packages_list_config } from "./android/packages_list_config_pb";
import type { PixelModemConfig } from "./android/pixel_modem_config_pb";
import { file_protos_perfetto_config_android_pixel_modem_config } from "./android/pixel_modem_config_pb";
import type { ProtoLogConfig } from "./android/protolog_config_pb";
import { file_protos_perfetto_config_android_protolog_config } from "./android/protolog_config_pb";
import type { SurfaceFlingerLayersConfig } from "./android/surfaceflinger_layers_config_pb";
import { file_protos_perfetto_config_android_surfaceflinger_layers_config } from "./android/surfaceflinger_layers_config_pb";
import type { SurfaceFlingerTransactionsConfig } from "./android/surfaceflinger_transactions_config_pb";
import { file_protos_perfetto_config_android_surfaceflinger_transactions_config } from "./android/surfaceflinger_transactions_config_pb";
import type { WindowManagerConfig } from "./android/windowmanager_config_pb";
import { file_protos_perfetto_config_android_windowmanager_config } from "./android/windowmanager_config_pb";
import type { ChromeConfig } from "./chrome/chrome_config_pb";
import { file_protos_perfetto_config_chrome_chrome_config } from "./chrome/chrome_config_pb";
import type { V8Config } from "./chrome/v8_config_pb";
import { file_protos_perfetto_config_chrome_v8_config } from "./chrome/v8_config_pb";
import type { EtwConfig } from "./etw/etw_config_pb";
import { file_protos_perfetto_config_etw_etw_config } from "./etw/etw_config_pb";
import type { ChromiumSystemMetricsConfig } from "./chrome/system_metrics_pb";
import { file_protos_perfetto_config_chrome_system_metrics } from "./chrome/system_metrics_pb";
import type { FtraceConfig } from "./ftrace/ftrace_config_pb";
import { file_protos_perfetto_config_ftrace_ftrace_config } from "./ftrace/ftrace_config_pb";
import type { GpuCounterConfig } from "./gpu/gpu_counter_config_pb";
import { file_protos_perfetto_config_gpu_gpu_counter_config } from "./gpu/gpu_counter_config_pb";
import type { VulkanMemoryConfig } from "./gpu/vulkan_memory_config_pb";
import { file_protos_perfetto_config_gpu_vulkan_memory_config } from "./gpu/vulkan_memory_config_pb";
import type { InodeFileConfig } from "./inode_file/inode_file_config_pb";
import { file_protos_perfetto_config_inode_file_inode_file_config } from "./inode_file/inode_file_config_pb";
import type { InterceptorConfig } from "./interceptor_config_pb";
import { file_protos_perfetto_config_interceptor_config } from "./interceptor_config_pb";
import type { AndroidPowerConfig } from "./power/android_power_config_pb";
import { file_protos_perfetto_config_power_android_power_config } from "./power/android_power_config_pb";
import type { StatsdTracingConfig } from "./statsd/statsd_tracing_config_pb";
import { file_protos_perfetto_config_statsd_statsd_tracing_config } from "./statsd/statsd_tracing_config_pb";
import type { ProcessStatsConfig } from "./process_stats/process_stats_config_pb";
import { file_protos_perfetto_config_process_stats_process_stats_config } from "./process_stats/process_stats_config_pb";
import type { HeapprofdConfig } from "./profiling/heapprofd_config_pb";
import { file_protos_perfetto_config_profiling_heapprofd_config } from "./profiling/heapprofd_config_pb";
import type { JavaHprofConfig } from "./profiling/java_hprof_config_pb";
import { file_protos_perfetto_config_profiling_java_hprof_config } from "./profiling/java_hprof_config_pb";
import type { PerfEventConfig } from "./profiling/perf_event_config_pb";
import { file_protos_perfetto_config_profiling_perf_event_config } from "./profiling/perf_event_config_pb";
import type { SysStatsConfig } from "./sys_stats/sys_stats_config_pb";
import { file_protos_perfetto_config_sys_stats_sys_stats_config } from "./sys_stats/sys_stats_config_pb";
import type { TestConfig } from "./test_config_pb";
import { file_protos_perfetto_config_test_config } from "./test_config_pb";
import type { TrackEventConfig } from "./track_event/track_event_config_pb";
import { file_protos_perfetto_config_track_event_track_event_config } from "./track_event/track_event_config_pb";
import type { SystemInfoConfig } from "./system_info/system_info_pb";
import { file_protos_perfetto_config_system_info_system_info } from "./system_info/system_info_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/config/data_source_config.proto.
 */
export const file_protos_perfetto_config_data_source_config: GenFile = /*@__PURE__*/
  fileDesc("Ci9wcm90b3MvcGVyZmV0dG8vY29uZmlnL2RhdGFfc291cmNlX2NvbmZpZy5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIo4VChBEYXRhU291cmNlQ29uZmlnEgwKBG5hbWUYASABKAkSFQoNdGFyZ2V0X2J1ZmZlchgCIAEoDRIZChF0cmFjZV9kdXJhdGlvbl9tcxgDIAEoDRIpCiFwcmVmZXJfc3VzcGVuZF9jbG9ja19mb3JfZHVyYXRpb24YeiABKAgSFwoPc3RvcF90aW1lb3V0X21zGAcgASgNEh8KF2VuYWJsZV9leHRyYV9ndWFyZHJhaWxzGAYgASgIEk0KEXNlc3Npb25faW5pdGlhdG9yGAggASgOMjIucGVyZmV0dG8ucHJvdG9zLkRhdGFTb3VyY2VDb25maWcuU2Vzc2lvbkluaXRpYXRvchIaChJ0cmFjaW5nX3Nlc3Npb25faWQYBCABKAQSOAoNZnRyYWNlX2NvbmZpZxhkIAEoCzIdLnBlcmZldHRvLnByb3Rvcy5GdHJhY2VDb25maWdCAigBEj8KEWlub2RlX2ZpbGVfY29uZmlnGGYgASgLMiAucGVyZmV0dG8ucHJvdG9zLklub2RlRmlsZUNvbmZpZ0ICKAESRQoUcHJvY2Vzc19zdGF0c19jb25maWcYZyABKAsyIy5wZXJmZXR0by5wcm90b3MuUHJvY2Vzc1N0YXRzQ29uZmlnQgIoARI9ChBzeXNfc3RhdHNfY29uZmlnGGggASgLMh8ucGVyZmV0dG8ucHJvdG9zLlN5c1N0YXRzQ29uZmlnQgIoARI+ChBoZWFwcHJvZmRfY29uZmlnGGkgASgLMiAucGVyZmV0dG8ucHJvdG9zLkhlYXBwcm9mZENvbmZpZ0ICKAESPwoRamF2YV9ocHJvZl9jb25maWcYbiABKAsyIC5wZXJmZXR0by5wcm90b3MuSmF2YUhwcm9mQ29uZmlnQgIoARJFChRhbmRyb2lkX3Bvd2VyX2NvbmZpZxhqIAEoCzIjLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkUG93ZXJDb25maWdCAigBEkEKEmFuZHJvaWRfbG9nX2NvbmZpZxhrIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkTG9nQ29uZmlnQgIoARJBChJncHVfY291bnRlcl9jb25maWcYbCABKAsyIS5wZXJmZXR0by5wcm90b3MuR3B1Q291bnRlckNvbmZpZ0ICKAESZQolYW5kcm9pZF9nYW1lX2ludGVydmVudGlvbl9saXN0X2NvbmZpZxh0IAEoCzIyLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkR2FtZUludGVydmVudGlvbkxpc3RDb25maWdCAigBEkUKFHBhY2thZ2VzX2xpc3RfY29uZmlnGG0gASgLMiMucGVyZmV0dG8ucHJvdG9zLlBhY2thZ2VzTGlzdENvbmZpZ0ICKAESPwoRcGVyZl9ldmVudF9jb25maWcYbyABKAsyIC5wZXJmZXR0by5wcm90b3MuUGVyZkV2ZW50Q29uZmlnQgIoARJFChR2dWxrYW5fbWVtb3J5X2NvbmZpZxhwIAEoCzIjLnBlcmZldHRvLnByb3Rvcy5WdWxrYW5NZW1vcnlDb25maWdCAigBEkEKEnRyYWNrX2V2ZW50X2NvbmZpZxhxIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5UcmFja0V2ZW50Q29uZmlnQgIoARJSChthbmRyb2lkX3BvbGxlZF9zdGF0ZV9jb25maWcYciABKAsyKS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFBvbGxlZFN0YXRlQ29uZmlnQgIoARJYCh5hbmRyb2lkX3N5c3RlbV9wcm9wZXJ0eV9jb25maWcYdiABKAsyLC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN5c3RlbVByb3BlcnR5Q29uZmlnQgIoARJHChVzdGF0c2RfdHJhY2luZ19jb25maWcYdSABKAsyJC5wZXJmZXR0by5wcm90b3MuU3RhdHNkVHJhY2luZ0NvbmZpZ0ICKAESPQoSc3lzdGVtX2luZm9fY29uZmlnGHcgASgLMiEucGVyZmV0dG8ucHJvdG9zLlN5c3RlbUluZm9Db25maWcSNAoNY2hyb21lX2NvbmZpZxhlIAEoCzIdLnBlcmZldHRvLnByb3Rvcy5DaHJvbWVDb25maWcSMAoJdjhfY29uZmlnGH8gASgLMhkucGVyZmV0dG8ucHJvdG9zLlY4Q29uZmlnQgIoARI+ChJpbnRlcmNlcHRvcl9jb25maWcYcyABKAsyIi5wZXJmZXR0by5wcm90b3MuSW50ZXJjZXB0b3JDb25maWcSUgobbmV0d29ya19wYWNrZXRfdHJhY2VfY29uZmlnGHggASgLMikucGVyZmV0dG8ucHJvdG9zLk5ldHdvcmtQYWNrZXRUcmFjZUNvbmZpZ0ICKAESVQocc3VyZmFjZWZsaW5nZXJfbGF5ZXJzX2NvbmZpZxh5IAEoCzIrLnBlcmZldHRvLnByb3Rvcy5TdXJmYWNlRmxpbmdlckxheWVyc0NvbmZpZ0ICKAESYQoic3VyZmFjZWZsaW5nZXJfdHJhbnNhY3Rpb25zX2NvbmZpZxh7IAEoCzIxLnBlcmZldHRvLnByb3Rvcy5TdXJmYWNlRmxpbmdlclRyYW5zYWN0aW9uc0NvbmZpZ0ICKAESWwogYW5kcm9pZF9zZGtfc3lzcHJvcF9ndWFyZF9jb25maWcYfCABKAsyLS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFNka1N5c3Byb3BHdWFyZENvbmZpZ0ICKAESMgoKZXR3X2NvbmZpZxh9IAEoCzIaLnBlcmZldHRvLnByb3Rvcy5FdHdDb25maWdCAigBEjwKD3Byb3RvbG9nX2NvbmZpZxh+IAEoCzIfLnBlcmZldHRvLnByb3Rvcy5Qcm90b0xvZ0NvbmZpZ0ICKAESUQoaYW5kcm9pZF9pbnB1dF9ldmVudF9jb25maWcYgAEgASgLMigucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRJbnB1dEV2ZW50Q29uZmlnQgIoARJCChJwaXhlbF9tb2RlbV9jb25maWcYgQEgASgLMiEucGVyZmV0dG8ucHJvdG9zLlBpeGVsTW9kZW1Db25maWdCAigBEkcKFHdpbmRvd21hbmFnZXJfY29uZmlnGIIBIAEoCzIkLnBlcmZldHRvLnByb3Rvcy5XaW5kb3dNYW5hZ2VyQ29uZmlnQgIoARJSChdjaHJvbWl1bV9zeXN0ZW1fbWV0cmljcxiDASABKAsyLC5wZXJmZXR0by5wcm90b3MuQ2hyb21pdW1TeXN0ZW1NZXRyaWNzQ29uZmlnQgIoARIWCg1sZWdhY3lfY29uZmlnGOgHIAEoCRIxCgtmb3JfdGVzdGluZxjpByABKAsyGy5wZXJmZXR0by5wcm90b3MuVGVzdENvbmZpZyJbChBTZXNzaW9uSW5pdGlhdG9yEiEKHVNFU1NJT05fSU5JVElBVE9SX1VOU1BFQ0lGSUVEEAASJAogU0VTU0lPTl9JTklUSUFUT1JfVFJVU1RFRF9TWVNURU0QAUoLCP///38QgICAgAE", [file_protos_perfetto_config_android_android_game_intervention_list_config, file_protos_perfetto_config_android_android_input_event_config, file_protos_perfetto_config_android_android_log_config, file_protos_perfetto_config_android_android_polled_state_config, file_protos_perfetto_config_android_android_system_property_config, file_protos_perfetto_config_android_android_sdk_sysprop_guard_config, file_protos_perfetto_config_android_network_trace_config, file_protos_perfetto_config_android_packages_list_config, file_protos_perfetto_config_android_pixel_modem_config, file_protos_perfetto_config_android_protolog_config, file_protos_perfetto_config_android_surfaceflinger_layers_config, file_protos_perfetto_config_android_surfaceflinger_transactions_config, file_protos_perfetto_config_android_windowmanager_config, file_protos_perfetto_config_chrome_chrome_config, file_protos_perfetto_config_chrome_v8_config, file_protos_perfetto_config_etw_etw_config, file_protos_perfetto_config_chrome_system_metrics, file_protos_perfetto_config_ftrace_ftrace_config, file_protos_perfetto_config_gpu_gpu_counter_config, file_protos_perfetto_config_gpu_vulkan_memory_config, file_protos_perfetto_config_inode_file_inode_file_config, file_protos_perfetto_config_interceptor_config, file_protos_perfetto_config_power_android_power_config, file_protos_perfetto_config_statsd_statsd_tracing_config, file_protos_perfetto_config_process_stats_process_stats_config, file_protos_perfetto_config_profiling_heapprofd_config, file_protos_perfetto_config_profiling_java_hprof_config, file_protos_perfetto_config_profiling_perf_event_config, file_protos_perfetto_config_sys_stats_sys_stats_config, file_protos_perfetto_config_test_config, file_protos_perfetto_config_track_event_track_event_config, file_protos_perfetto_config_system_info_system_info]);

/**
 * The configuration that is passed to each data source when starting tracing.
 * Next id: 132
 *
 * @generated from message perfetto.protos.DataSourceConfig
 */
export type DataSourceConfig = Message<"perfetto.protos.DataSourceConfig"> & {
  /**
   * Data source unique name, e.g., "linux.ftrace". This must match
   * the name passed by the data source when it registers (see
   * RegisterDataSource()).
   *
   * @generated from field: optional string name = 1;
   */
  name: string;

  /**
   * The index of the logging buffer where TracePacket(s) will be stored.
   * This field doesn't make a major difference for the Producer(s). The final
   * logging buffers, in fact, are completely owned by the Service. We just ask
   * the Producer to copy this number into the chunk headers it emits, so that
   * the Service can quickly identify the buffer where to move the chunks into
   * without expensive lookups on its fastpath.
   *
   * @generated from field: optional uint32 target_buffer = 2;
   */
  targetBuffer: number;

  /**
   * Set by the service to indicate the duration of the trace.
   * DO NOT SET in consumer as this will be overridden by the service.
   *
   * @generated from field: optional uint32 trace_duration_ms = 3;
   */
  traceDurationMs: number;

  /**
   * If true, |trace_duration_ms| should count also time in suspend. This
   * is propagated from TraceConfig.prefer_suspend_clock_for_duration.
   *
   * @generated from field: optional bool prefer_suspend_clock_for_duration = 122;
   */
  preferSuspendClockForDuration: boolean;

  /**
   * Set by the service to indicate how long it waits after StopDataSource.
   * DO NOT SET in consumer as this will be overridden by the service.
   *
   * @generated from field: optional uint32 stop_timeout_ms = 7;
   */
  stopTimeoutMs: number;

  /**
   * Set by the service to indicate whether this tracing session has extra
   * guardrails.
   * DO NOT SET in consumer as this will be overridden by the service.
   *
   * @generated from field: optional bool enable_extra_guardrails = 6;
   */
  enableExtraGuardrails: boolean;

  /**
   * Set by the service to indicate which user initiated this trace.
   * DO NOT SET in consumer as this will be overridden by the service.
   *
   * @generated from field: optional perfetto.protos.DataSourceConfig.SessionInitiator session_initiator = 8;
   */
  sessionInitiator: DataSourceConfig_SessionInitiator;

  /**
   * Set by the service to indicate which tracing session the data source
   * belongs to. The intended use case for this is checking if two data sources,
   * one of which produces metadata for the other one, belong to the same trace
   * session and hence should be linked together.
   * This field was introduced in Aug 2018 after Android P.
   * DO NOT SET in consumer as this will be overridden by the service.
   *
   * @generated from field: optional uint64 tracing_session_id = 4;
   */
  tracingSessionId: bigint;

  /**
   * Data source name: linux.ftrace
   *
   * @generated from field: optional perfetto.protos.FtraceConfig ftrace_config = 100;
   */
  ftraceConfig?: FtraceConfig;

  /**
   * Data source name: linux.inode_file_map
   *
   * @generated from field: optional perfetto.protos.InodeFileConfig inode_file_config = 102;
   */
  inodeFileConfig?: InodeFileConfig;

  /**
   * Data source name: linux.process_stats
   *
   * @generated from field: optional perfetto.protos.ProcessStatsConfig process_stats_config = 103;
   */
  processStatsConfig?: ProcessStatsConfig;

  /**
   * Data source name: linux.sys_stats
   *
   * @generated from field: optional perfetto.protos.SysStatsConfig sys_stats_config = 104;
   */
  sysStatsConfig?: SysStatsConfig;

  /**
   * Data source name: android.heapprofd
   * Introduced in Android 10.
   *
   * @generated from field: optional perfetto.protos.HeapprofdConfig heapprofd_config = 105;
   */
  heapprofdConfig?: HeapprofdConfig;

  /**
   * Data source name: android.java_hprof
   * Introduced in Android 11.
   *
   * @generated from field: optional perfetto.protos.JavaHprofConfig java_hprof_config = 110;
   */
  javaHprofConfig?: JavaHprofConfig;

  /**
   * Data source name: android.power
   *
   * @generated from field: optional perfetto.protos.AndroidPowerConfig android_power_config = 106;
   */
  androidPowerConfig?: AndroidPowerConfig;

  /**
   * Data source name: android.log
   *
   * @generated from field: optional perfetto.protos.AndroidLogConfig android_log_config = 107;
   */
  androidLogConfig?: AndroidLogConfig;

  /**
   * TODO(fmayer): Add data source name for this.
   *
   * @generated from field: optional perfetto.protos.GpuCounterConfig gpu_counter_config = 108;
   */
  gpuCounterConfig?: GpuCounterConfig;

  /**
   * Data source name: android.game_interventions
   *
   * @generated from field: optional perfetto.protos.AndroidGameInterventionListConfig android_game_intervention_list_config = 116;
   */
  androidGameInterventionListConfig?: AndroidGameInterventionListConfig;

  /**
   * Data source name: android.packages_list
   *
   * @generated from field: optional perfetto.protos.PackagesListConfig packages_list_config = 109;
   */
  packagesListConfig?: PackagesListConfig;

  /**
   * Data source name: linux.perf
   *
   * @generated from field: optional perfetto.protos.PerfEventConfig perf_event_config = 111;
   */
  perfEventConfig?: PerfEventConfig;

  /**
   * Data source name: vulkan.memory_tracker
   *
   * @generated from field: optional perfetto.protos.VulkanMemoryConfig vulkan_memory_config = 112;
   */
  vulkanMemoryConfig?: VulkanMemoryConfig;

  /**
   * Data source name: track_event
   *
   * @generated from field: optional perfetto.protos.TrackEventConfig track_event_config = 113;
   */
  trackEventConfig?: TrackEventConfig;

  /**
   * Data source name: android.polled_state
   *
   * @generated from field: optional perfetto.protos.AndroidPolledStateConfig android_polled_state_config = 114;
   */
  androidPolledStateConfig?: AndroidPolledStateConfig;

  /**
   * Data source name: android.system_property
   *
   * @generated from field: optional perfetto.protos.AndroidSystemPropertyConfig android_system_property_config = 118;
   */
  androidSystemPropertyConfig?: AndroidSystemPropertyConfig;

  /**
   * Data source name: android.statsd
   *
   * @generated from field: optional perfetto.protos.StatsdTracingConfig statsd_tracing_config = 117;
   */
  statsdTracingConfig?: StatsdTracingConfig;

  /**
   * Data source name: linux.system_info
   *
   * @generated from field: optional perfetto.protos.SystemInfoConfig system_info_config = 119;
   */
  systemInfoConfig?: SystemInfoConfig;

  /**
   * Chrome is special as it doesn't use the perfetto IPC layer. We want to
   * avoid proto serialization and de-serialization there because that would
   * just add extra hops on top of the Mojo ser/des. Instead we auto-generate a
   * C++ class for it so it can pass around plain C++ objets.
   *
   * @generated from field: optional perfetto.protos.ChromeConfig chrome_config = 101;
   */
  chromeConfig?: ChromeConfig;

  /**
   * Data source name: code.v8.dev
   *
   * @generated from field: optional perfetto.protos.V8Config v8_config = 127;
   */
  v8Config?: V8Config;

  /**
   * If an interceptor is specified here, packets for this data source will be
   * rerouted to the interceptor instead of the main trace buffer. This can be
   * used, for example, to write trace data into ETW or for logging trace points
   * to the console.
   *
   * Note that interceptors are only supported by data sources registered
   * through the Perfetto SDK API. Data sources that don't use that API (e.g.,
   * traced_probes) may not support interception.
   *
   * @generated from field: optional perfetto.protos.InterceptorConfig interceptor_config = 115;
   */
  interceptorConfig?: InterceptorConfig;

  /**
   * Data source name: android.network_packets.
   * Introduced in Android 14 (U).
   *
   * @generated from field: optional perfetto.protos.NetworkPacketTraceConfig network_packet_trace_config = 120;
   */
  networkPacketTraceConfig?: NetworkPacketTraceConfig;

  /**
   * Data source name: android.surfaceflinger.layers
   *
   * @generated from field: optional perfetto.protos.SurfaceFlingerLayersConfig surfaceflinger_layers_config = 121;
   */
  surfaceflingerLayersConfig?: SurfaceFlingerLayersConfig;

  /**
   * Data source name: android.surfaceflinger.transactions
   *
   * @generated from field: optional perfetto.protos.SurfaceFlingerTransactionsConfig surfaceflinger_transactions_config = 123;
   */
  surfaceflingerTransactionsConfig?: SurfaceFlingerTransactionsConfig;

  /**
   * Data source name: android.sdk_sysprop_guard
   * Introduced in Android 14 (U) QPR1.
   *
   * @generated from field: optional perfetto.protos.AndroidSdkSyspropGuardConfig android_sdk_sysprop_guard_config = 124;
   */
  androidSdkSyspropGuardConfig?: AndroidSdkSyspropGuardConfig;

  /**
   * Data source name: windows.etw
   *
   * @generated from field: optional perfetto.protos.EtwConfig etw_config = 125;
   */
  etwConfig?: EtwConfig;

  /**
   * Data source name: android.protolog
   *
   * @generated from field: optional perfetto.protos.ProtoLogConfig protolog_config = 126;
   */
  protologConfig?: ProtoLogConfig;

  /**
   * Data source name: android.input.inputevent
   *
   * @generated from field: optional perfetto.protos.AndroidInputEventConfig android_input_event_config = 128;
   */
  androidInputEventConfig?: AndroidInputEventConfig;

  /**
   * Data source name: android.pixel.modem
   *
   * @generated from field: optional perfetto.protos.PixelModemConfig pixel_modem_config = 129;
   */
  pixelModemConfig?: PixelModemConfig;

  /**
   * Data source name: android.windowmanager
   *
   * @generated from field: optional perfetto.protos.WindowManagerConfig windowmanager_config = 130;
   */
  windowmanagerConfig?: WindowManagerConfig;

  /**
   * Data source name: org.chromium.system_metrics
   *
   * @generated from field: optional perfetto.protos.ChromiumSystemMetricsConfig chromium_system_metrics = 131;
   */
  chromiumSystemMetrics?: ChromiumSystemMetricsConfig;

  /**
   * This is a fallback mechanism to send a free-form text config to the
   * producer. In theory this should never be needed. All the code that
   * is part of the platform (i.e. traced service) is supposed to *not* truncate
   * the trace config proto and propagate unknown fields. However, if anything
   * in the pipeline (client or backend) ends up breaking this forward compat
   * plan, this field will become the escape hatch to allow future data sources
   * to get some meaningful configuration.
   *
   * @generated from field: optional string legacy_config = 1000;
   */
  legacyConfig: string;

  /**
   * This field is only used for testing.
   *
   * @generated from field: optional perfetto.protos.TestConfig for_testing = 1001;
   */
  forTesting?: TestConfig;
};

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

/**
 * @generated from enum perfetto.protos.DataSourceConfig.SessionInitiator
 */
export enum DataSourceConfig_SessionInitiator {
  /**
   * @generated from enum value: SESSION_INITIATOR_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * This trace was initiated from a trusted system app has DUMP and
   * USAGE_STATS permission. This system app is expected to not expose the
   * trace to the user of the device.
   * This is determined by checking the UID initiating the trace.
   *
   * @generated from enum value: SESSION_INITIATOR_TRUSTED_SYSTEM = 1;
   */
  TRUSTED_SYSTEM = 1,
}

/**
 * Describes the enum perfetto.protos.DataSourceConfig.SessionInitiator.
 */
export const DataSourceConfig_SessionInitiatorSchema: GenEnum<DataSourceConfig_SessionInitiator> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_config_data_source_config, 0, 0);

