//
// 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/config/statsd/statsd_tracing_config.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 { AtomId } from "./atom_ids_pb";
import { file_protos_perfetto_config_statsd_atom_ids } from "./atom_ids_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/config/statsd/statsd_tracing_config.proto.
 */
export const file_protos_perfetto_config_statsd_statsd_tracing_config: GenFile = /*@__PURE__*/
  fileDesc("Cjlwcm90b3MvcGVyZmV0dG8vY29uZmlnL3N0YXRzZC9zdGF0c2RfdHJhY2luZ19jb25maWcucHJvdG8SD3BlcmZldHRvLnByb3RvcyKaAQoTU3RhdHNkVHJhY2luZ0NvbmZpZxItCgxwdXNoX2F0b21faWQYASADKA4yFy5wZXJmZXR0by5wcm90b3MuQXRvbUlkEhgKEHJhd19wdXNoX2F0b21faWQYAiADKAUSOgoLcHVsbF9jb25maWcYAyADKAsyJS5wZXJmZXR0by5wcm90b3MuU3RhdHNkUHVsbEF0b21Db25maWcijAEKFFN0YXRzZFB1bGxBdG9tQ29uZmlnEi0KDHB1bGxfYXRvbV9pZBgBIAMoDjIXLnBlcmZldHRvLnByb3Rvcy5BdG9tSWQSGAoQcmF3X3B1bGxfYXRvbV9pZBgCIAMoBRIZChFwdWxsX2ZyZXF1ZW5jeV9tcxgDIAEoBRIQCghwYWNrYWdlcxgEIAMoCQ", [file_protos_perfetto_config_statsd_atom_ids]);

/**
 * This file is named 'statsd_tracing_config.proto' rather than
 * 'statsd_config.proto' (which would be more consistent with the other
 * config protos) so it doesn't show up and confuse folks looking for
 * the existing statsd_config.proto for configuring statsd itself.
 * Same for the config proto itself.
 *
 * @generated from message perfetto.protos.StatsdTracingConfig
 */
export type StatsdTracingConfig = Message<"perfetto.protos.StatsdTracingConfig"> & {
  /**
   * This is for the common case of the atom id being known in the enum AtomId.
   *
   * @generated from field: repeated perfetto.protos.AtomId push_atom_id = 1;
   */
  pushAtomId: AtomId[];

  /**
   * Escape hatch for Atom IDs that are not yet in the AtomId enum
   * (e.g. non-upstream atoms that don't exist in AOSP).
   *
   * @generated from field: repeated int32 raw_push_atom_id = 2;
   */
  rawPushAtomId: number[];

  /**
   * @generated from field: repeated perfetto.protos.StatsdPullAtomConfig pull_config = 3;
   */
  pullConfig: StatsdPullAtomConfig[];
};

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

/**
 * @generated from message perfetto.protos.StatsdPullAtomConfig
 */
export type StatsdPullAtomConfig = Message<"perfetto.protos.StatsdPullAtomConfig"> & {
  /**
   * @generated from field: repeated perfetto.protos.AtomId pull_atom_id = 1;
   */
  pullAtomId: AtomId[];

  /**
   * @generated from field: repeated int32 raw_pull_atom_id = 2;
   */
  rawPullAtomId: number[];

  /**
   * @generated from field: optional int32 pull_frequency_ms = 3;
   */
  pullFrequencyMs: number;

  /**
   * @generated from field: repeated string packages = 4;
   */
  packages: string[];
};

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

