{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/generated/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;AACH,EAAE;AACF,+BAA+B;AAC/B,gEAAgE;AAChE,6EAA6E;AAC7E,EAAE;AACF,gGAAgG","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n//\n// AUTO-GENERATED — do not edit\n// Generated from opentelemetry-configuration JSON schema v1.0.0\n// Run `npm run generate:config` from the configuration package to regenerate\n//\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-empty-object-type */\n\n/**\n * Configure the log level of the internal logger used by the SDK.\n * Values include:\n * * debug: debug, severity number 5.\n * * debug2: debug2, severity number 6.\n * * debug3: debug3, severity number 7.\n * * debug4: debug4, severity number 8.\n * * error: error, severity number 17.\n * * error2: error2, severity number 18.\n * * error3: error3, severity number 19.\n * * error4: error4, severity number 20.\n * * fatal: fatal, severity number 21.\n * * fatal2: fatal2, severity number 22.\n * * fatal3: fatal3, severity number 23.\n * * fatal4: fatal4, severity number 24.\n * * info: info, severity number 9.\n * * info2: info2, severity number 10.\n * * info3: info3, severity number 11.\n * * info4: info4, severity number 12.\n * * trace: trace, severity number 1.\n * * trace2: trace2, severity number 2.\n * * trace3: trace3, severity number 3.\n * * trace4: trace4, severity number 4.\n * * warn: warn, severity number 13.\n * * warn2: warn2, severity number 14.\n * * warn3: warn3, severity number 15.\n * * warn4: warn4, severity number 16.\n * If omitted, INFO is used.\n */\nexport type SeverityNumber =\n  | 'trace'\n  | 'trace2'\n  | 'trace3'\n  | 'trace4'\n  | 'debug'\n  | 'debug2'\n  | 'debug3'\n  | 'debug4'\n  | 'info'\n  | 'info2'\n  | 'info3'\n  | 'info4'\n  | 'warn'\n  | 'warn2'\n  | 'warn3'\n  | 'warn4'\n  | 'error'\n  | 'error2'\n  | 'error3'\n  | 'error4'\n  | 'fatal'\n  | 'fatal2'\n  | 'fatal3'\n  | 'fatal4';\n\n/**\n * Configure the encoding used for messages.\n * Implementations may not support json.\n * Values include:\n * * json: Protobuf JSON encoding.\n * * protobuf: Protobuf binary encoding.\n * If omitted, protobuf is used.\n */\nexport type OtlpHttpEncoding = 'protobuf' | 'json';\n\n/**\n * Configure temporality preference.\n * Values include:\n * * cumulative: Use cumulative aggregation temporality for all instrument types.\n * * delta: Use delta aggregation for all instrument types except up down counter and asynchronous up down counter.\n * * low_memory: Use delta aggregation temporality for counter and histogram instrument types. Use cumulative aggregation temporality for all other instrument types.\n * If omitted, cumulative is used.\n */\nexport type ExporterTemporalityPreference =\n  | 'cumulative'\n  | 'delta'\n  | 'low_memory';\n\n/**\n * Configure default histogram aggregation.\n * Values include:\n * * base2_exponential_bucket_histogram: Use base2 exponential histogram as the default aggregation for histogram instruments.\n * * explicit_bucket_histogram: Use explicit bucket histogram as the default aggregation for histogram instruments.\n * If omitted, explicit_bucket_histogram is used.\n */\nexport type ExporterDefaultHistogramAggregation =\n  | 'explicit_bucket_histogram'\n  | 'base2_exponential_bucket_histogram';\n\n/**\n * Configure how metric names are translated to Prometheus metric names.\n * Values include:\n * * no_translation/development: Special character escaping is disabled. Type and unit suffixes are disabled. Metric names are unaltered.\n * * no_utf8_escaping_with_suffixes/development: Special character escaping is disabled. Type and unit suffixes are enabled.\n * * underscore_escaping_with_suffixes: Special character escaping is enabled. Type and unit suffixes are enabled.\n * * underscore_escaping_without_suffixes/development: Special character escaping is enabled. Type and unit suffixes are disabled. This represents classic Prometheus metric name compatibility.\n * If omitted, underscore_escaping_with_suffixes is used.\n */\nexport type ExperimentalPrometheusTranslationStrategy =\n  | 'underscore_escaping_with_suffixes'\n  | 'underscore_escaping_without_suffixes/development'\n  | 'no_utf8_escaping_with_suffixes/development'\n  | 'no_translation/development';\n\n/**\n * Configure instrument type selection criteria.\n * Values include:\n * * counter: Synchronous counter instruments.\n * * gauge: Synchronous gauge instruments.\n * * histogram: Synchronous histogram instruments.\n * * observable_counter: Asynchronous counter instruments.\n * * observable_gauge: Asynchronous gauge instruments.\n * * observable_up_down_counter: Asynchronous up down counter instruments.\n * * up_down_counter: Synchronous up down counter instruments.\n * If omitted, all instrument types match.\n */\nexport type InstrumentType =\n  | 'counter'\n  | 'gauge'\n  | 'histogram'\n  | 'observable_counter'\n  | 'observable_gauge'\n  | 'observable_up_down_counter'\n  | 'up_down_counter';\n\n/**\n * Configure the exemplar filter.\n * Values include:\n * * always_off: ExemplarFilter which makes no measurements eligible for being an Exemplar.\n * * always_on: ExemplarFilter which makes all measurements eligible for being an Exemplar.\n * * trace_based: ExemplarFilter which makes measurements recorded in the context of a sampled parent span eligible for being an Exemplar.\n * If omitted, trace_based is used.\n */\nexport type ExemplarFilter = 'always_on' | 'always_off' | 'trace_based';\n\nexport type SpanKind =\n  | 'internal'\n  | 'server'\n  | 'client'\n  | 'producer'\n  | 'consumer';\n\nexport type ExperimentalSpanParent = 'none' | 'remote' | 'local';\n\n/**\n * The attribute type.\n * Values include:\n * * bool: Boolean attribute value.\n * * bool_array: Boolean array attribute value.\n * * double: Double attribute value.\n * * double_array: Double array attribute value.\n * * int: Integer attribute value.\n * * int_array: Integer array attribute value.\n * * string: String attribute value.\n * * string_array: String array attribute value.\n * If omitted, string is used.\n */\nexport type AttributeType =\n  | 'string'\n  | 'bool'\n  | 'int'\n  | 'double'\n  | 'string_array'\n  | 'bool_array'\n  | 'int_array'\n  | 'double_array';\n\nexport interface ConfigurationModel {\n  /**\n   * The file format version.\n   * Represented as a string including the semver major, minor version numbers (and optionally the meta tag). For example: \"0.4\", \"1.0-rc.2\", \"1.0\" (after stable release).\n   * See https://github.com/open-telemetry/opentelemetry-configuration/blob/main/VERSIONING.md for more details.\n   * The yaml format is documented at https://github.com/open-telemetry/opentelemetry-configuration/tree/main/schema\n   * Property is required and must be non-null.\n   */\n  file_format?: string;\n  /**\n   * Configure if the SDK is disabled or not.\n   * If omitted or null, false is used.\n   */\n  disabled?: boolean;\n  log_level?: SeverityNumber;\n  attribute_limits?: AttributeLimits;\n  logger_provider?: LoggerProvider;\n  meter_provider?: MeterProvider;\n  propagator?: Propagator;\n  tracer_provider?: TracerProvider;\n  resource?: Resource;\n  'instrumentation/development'?: ExperimentalInstrumentation;\n  distribution?: Distribution;\n  [k: string]: any;\n}\n\n/**\n * Configure general attribute limits. See also tracer_provider.limits, logger_provider.limits.\n * If omitted, default values as described in AttributeLimits are used.\n */\nexport interface AttributeLimits {\n  /**\n   * Configure max attribute value size.\n   * Value must be non-negative.\n   * If omitted or null, there is no limit.\n   */\n  attribute_value_length_limit?: number;\n  /**\n   * Configure max attribute count.\n   * Value must be non-negative.\n   * If omitted or null, 128 is used.\n   */\n  attribute_count_limit?: number;\n}\n\n/**\n * Configure logger provider.\n * If omitted, a noop logger provider is used.\n */\nexport interface LoggerProvider {\n  /**\n   * Configure log record processors.\n   * Property is required and must be non-null.\n   *\n   * @minItems 1\n   */\n  processors: LogRecordProcessor[];\n  limits?: LogRecordLimits;\n  'logger_configurator/development'?: ExperimentalLoggerConfigurator;\n}\n\nexport interface LogRecordProcessor {\n  batch?: BatchLogRecordProcessor;\n  simple?: SimpleLogRecordProcessor;\n  [k: string]: object | undefined;\n}\n\n/**\n * Configure a batch log record processor.\n * If omitted, ignore.\n */\nexport interface BatchLogRecordProcessor {\n  /**\n   * Configure delay interval (in milliseconds) between two consecutive exports.\n   * Value must be non-negative.\n   * If omitted or null, 1000 is used.\n   */\n  schedule_delay?: number;\n  /**\n   * Configure maximum allowed time (in milliseconds) to export data.\n   * Value must be non-negative. A value of 0 indicates no limit (infinity).\n   * If omitted or null, 30000 is used.\n   */\n  export_timeout?: number;\n  /**\n   * Configure maximum queue size. Value must be positive.\n   * If omitted or null, 2048 is used.\n   */\n  max_queue_size?: number;\n  /**\n   * Configure maximum batch size. Value must be positive.\n   * If omitted or null, 512 is used.\n   */\n  max_export_batch_size?: number;\n  exporter: LogRecordExporter;\n}\n\n/**\n * Configure exporter.\n * Property is required and must be non-null.\n */\nexport interface LogRecordExporter {\n  otlp_http?: OtlpHttpExporter;\n  otlp_grpc?: OtlpGrpcExporter;\n  'otlp_file/development'?: ExperimentalOtlpFileExporter;\n  console?: ConsoleExporter;\n  [k: string]: object | undefined;\n}\n\n/**\n * Configure exporter to be OTLP with HTTP transport.\n * If omitted, ignore.\n */\nexport interface OtlpHttpExporter {\n  /**\n   * Configure endpoint, including the signal specific path.\n   * If omitted or null, the http://localhost:4318/v1/{signal} (where signal is 'traces', 'logs', or 'metrics') is used.\n   */\n  endpoint?: string;\n  tls?: HttpTls;\n  /**\n   * Configure headers. Entries have higher priority than entries from .headers_list.\n   * If an entry's .value is null, the entry is ignored.\n   * If omitted, no headers are added.\n   *\n   * @minItems 1\n   */\n  headers?: NameStringValuePair[];\n  /**\n   * Configure headers. Entries have lower priority than entries from .headers.\n   * The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.\n   * If omitted or null, no headers are added.\n   */\n  headers_list?: string;\n  /**\n   * Configure compression.\n   * Known values include: gzip, none. Implementations may support other compression algorithms.\n   * If omitted or null, none is used.\n   */\n  compression?: string;\n  /**\n   * Configure max time (in milliseconds) to wait for each export.\n   * Value must be non-negative. A value of 0 indicates no limit (infinity).\n   * If omitted or null, 10000 is used.\n   */\n  timeout?: number;\n  encoding?: OtlpHttpEncoding;\n}\n\n/**\n * Configure TLS settings for the exporter.\n * If omitted, system default TLS settings are used.\n */\nexport interface HttpTls {\n  /**\n   * Configure certificate used to verify a server's TLS credentials.\n   * Absolute path to certificate file in PEM format.\n   * If omitted or null, system default certificate verification is used for secure connections.\n   */\n  ca_file?: string;\n  /**\n   * Configure mTLS private client key.\n   * Absolute path to client key file in PEM format. If set, .client_certificate must also be set.\n   * If omitted or null, mTLS is not used.\n   */\n  key_file?: string;\n  /**\n   * Configure mTLS client certificate.\n   * Absolute path to client certificate file in PEM format. If set, .client_key must also be set.\n   * If omitted or null, mTLS is not used.\n   */\n  cert_file?: string;\n}\n\nexport interface NameStringValuePair {\n  /**\n   * The name of the pair.\n   * Property is required and must be non-null.\n   */\n  name: string;\n  /**\n   * The value of the pair.\n   * Property must be present, but if null the behavior is dependent on usage context.\n   */\n  value: string;\n}\n\n/**\n * Configure exporter to be OTLP with gRPC transport.\n * If omitted, ignore.\n */\nexport interface OtlpGrpcExporter {\n  /**\n   * Configure endpoint.\n   * If omitted or null, http://localhost:4317 is used.\n   */\n  endpoint?: string;\n  tls?: GrpcTls;\n  /**\n   * Configure headers. Entries have higher priority than entries from .headers_list.\n   * If an entry's .value is null, the entry is ignored.\n   * If omitted, no headers are added.\n   *\n   * @minItems 1\n   */\n  headers?: NameStringValuePair[];\n  /**\n   * Configure headers. Entries have lower priority than entries from .headers.\n   * The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.\n   * If omitted or null, no headers are added.\n   */\n  headers_list?: string;\n  /**\n   * Configure compression.\n   * Known values include: gzip, none. Implementations may support other compression algorithms.\n   * If omitted or null, none is used.\n   */\n  compression?: string;\n  /**\n   * Configure max time (in milliseconds) to wait for each export.\n   * Value must be non-negative. A value of 0 indicates no limit (infinity).\n   * If omitted or null, 10000 is used.\n   */\n  timeout?: number;\n}\n\n/**\n * Configure TLS settings for the exporter.\n * If omitted, system default TLS settings are used.\n */\nexport interface GrpcTls {\n  /**\n   * Configure certificate used to verify a server's TLS credentials.\n   * Absolute path to certificate file in PEM format.\n   * If omitted or null, system default certificate verification is used for secure connections.\n   */\n  ca_file?: string;\n  /**\n   * Configure mTLS private client key.\n   * Absolute path to client key file in PEM format. If set, .client_certificate must also be set.\n   * If omitted or null, mTLS is not used.\n   */\n  key_file?: string;\n  /**\n   * Configure mTLS client certificate.\n   * Absolute path to client certificate file in PEM format. If set, .client_key must also be set.\n   * If omitted or null, mTLS is not used.\n   */\n  cert_file?: string;\n  /**\n   * Configure client transport security for the exporter's connection.\n   * Only applicable when .endpoint is provided without http or https scheme. Implementations may choose to ignore .insecure.\n   * If omitted or null, false is used.\n   */\n  insecure?: boolean;\n}\n\n/**\n * Configure exporter to be OTLP with file transport.\n * If omitted, ignore.\n */\nexport interface ExperimentalOtlpFileExporter {\n  /**\n   * Configure output stream.\n   * Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.\n   * If omitted or null, stdout is used.\n   */\n  output_stream?: string;\n}\n\n/**\n * Configure exporter to be console.\n * If omitted, ignore.\n */\nexport interface ConsoleExporter {}\n\n/**\n * Configure a simple log record processor.\n * If omitted, ignore.\n */\nexport interface SimpleLogRecordProcessor {\n  exporter: LogRecordExporter;\n}\n\n/**\n * Configure log record limits. See also attribute_limits.\n * If omitted, default values as described in LogRecordLimits are used.\n */\nexport interface LogRecordLimits {\n  /**\n   * Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.\n   * Value must be non-negative.\n   * If omitted or null, there is no limit.\n   */\n  attribute_value_length_limit?: number;\n  /**\n   * Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.\n   * Value must be non-negative.\n   * If omitted or null, 128 is used.\n   */\n  attribute_count_limit?: number;\n}\n\n/**\n * Configure loggers.\n * If omitted, all loggers use default values as described in ExperimentalLoggerConfig.\n */\nexport interface ExperimentalLoggerConfigurator {\n  default_config?: ExperimentalLoggerConfig;\n  /**\n   * Configure loggers.\n   * If omitted, all loggers use .default_config.\n   *\n   * @minItems 1\n   */\n  loggers?: ExperimentalLoggerMatcherAndConfig[];\n}\n\n/**\n * Configure the default logger config used there is no matching entry in .logger_configurator/development.loggers.\n * If omitted, unmatched .loggers use default values as described in ExperimentalLoggerConfig.\n */\nexport interface ExperimentalLoggerConfig {\n  /**\n   * Configure if the logger is enabled or not.\n   * If omitted or null, true is used.\n   */\n  enabled?: boolean;\n  minimum_severity?: SeverityNumber;\n  /**\n   * Configure trace based filtering.\n   * If true, log records associated with unsampled trace contexts traces are not processed. If false, or if a log record is not associated with a trace context, trace based filtering is not applied.\n   * If omitted or null, trace based filtering is not applied.\n   */\n  trace_based?: boolean;\n}\n\nexport interface ExperimentalLoggerMatcherAndConfig {\n  /**\n   * Configure logger names to match, evaluated as follows:\n   *\n   *  * If the logger name exactly matches.\n   *  * If the logger name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n   * Property is required and must be non-null.\n   */\n  name: string;\n  config: ExperimentalLoggerConfig;\n}\n\n/**\n * Configure meter provider.\n * If omitted, a noop meter provider is used.\n */\nexport interface MeterProvider {\n  /**\n   * Configure metric readers.\n   * Property is required and must be non-null.\n   *\n   * @minItems 1\n   */\n  readers: MetricReader[];\n  /**\n   * Configure views.\n   * Each view has a selector which determines the instrument(s) it applies to, and a configuration for the resulting stream(s).\n   * If omitted, no views are registered.\n   *\n   * @minItems 1\n   */\n  views?: View[];\n  exemplar_filter?: ExemplarFilter;\n  'meter_configurator/development'?: ExperimentalMeterConfigurator;\n}\n\nexport interface MetricReader {\n  periodic?: PeriodicMetricReader;\n  pull?: PullMetricReader;\n}\n\n/**\n * Configure a periodic metric reader.\n * If omitted, ignore.\n */\nexport interface PeriodicMetricReader {\n  /**\n   * Configure delay interval (in milliseconds) between start of two consecutive exports.\n   * Value must be non-negative.\n   * If omitted or null, 60000 is used.\n   */\n  interval?: number;\n  /**\n   * Configure maximum allowed time (in milliseconds) to export data.\n   * Value must be non-negative. A value of 0 indicates no limit (infinity).\n   * If omitted or null, 30000 is used.\n   */\n  timeout?: number;\n  exporter: PushMetricExporter;\n  /**\n   * Configure metric producers.\n   * If omitted, no metric producers are added.\n   *\n   * @minItems 1\n   */\n  producers?: MetricProducer[];\n  cardinality_limits?: CardinalityLimits;\n}\n\n/**\n * Configure exporter.\n * Property is required and must be non-null.\n */\nexport interface PushMetricExporter {\n  otlp_http?: OtlpHttpMetricExporter;\n  otlp_grpc?: OtlpGrpcMetricExporter;\n  'otlp_file/development'?: ExperimentalOtlpFileMetricExporter;\n  console?: ConsoleMetricExporter;\n  [k: string]: object | undefined;\n}\n\n/**\n * Configure exporter to be OTLP with HTTP transport.\n * If omitted, ignore.\n */\nexport interface OtlpHttpMetricExporter {\n  /**\n   * Configure endpoint.\n   * If omitted or null, http://localhost:4318/v1/metrics is used.\n   */\n  endpoint?: string;\n  tls?: HttpTls;\n  /**\n   * Configure headers. Entries have higher priority than entries from .headers_list.\n   * If an entry's .value is null, the entry is ignored.\n   * If omitted, no headers are added.\n   *\n   * @minItems 1\n   */\n  headers?: NameStringValuePair[];\n  /**\n   * Configure headers. Entries have lower priority than entries from .headers.\n   * The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.\n   * If omitted or null, no headers are added.\n   */\n  headers_list?: string;\n  /**\n   * Configure compression.\n   * Known values include: gzip, none. Implementations may support other compression algorithms.\n   * If omitted or null, none is used.\n   */\n  compression?: string;\n  /**\n   * Configure max time (in milliseconds) to wait for each export.\n   * Value must be non-negative. A value of 0 indicates no limit (infinity).\n   * If omitted or null, 10000 is used.\n   */\n  timeout?: number;\n  encoding?: OtlpHttpEncoding;\n  temporality_preference?: ExporterTemporalityPreference;\n  default_histogram_aggregation?: ExporterDefaultHistogramAggregation;\n}\n\n/**\n * Configure exporter to be OTLP with gRPC transport.\n * If omitted, ignore.\n */\nexport interface OtlpGrpcMetricExporter {\n  /**\n   * Configure endpoint.\n   * If omitted or null, http://localhost:4317 is used.\n   */\n  endpoint?: string;\n  tls?: GrpcTls;\n  /**\n   * Configure headers. Entries have higher priority than entries from .headers_list.\n   * If an entry's .value is null, the entry is ignored.\n   * If omitted, no headers are added.\n   *\n   * @minItems 1\n   */\n  headers?: NameStringValuePair[];\n  /**\n   * Configure headers. Entries have lower priority than entries from .headers.\n   * The value is a list of comma separated key-value pairs matching the format of OTEL_EXPORTER_OTLP_HEADERS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options for details.\n   * If omitted or null, no headers are added.\n   */\n  headers_list?: string;\n  /**\n   * Configure compression.\n   * Known values include: gzip, none. Implementations may support other compression algorithms.\n   * If omitted or null, none is used.\n   */\n  compression?: string;\n  /**\n   * Configure max time (in milliseconds) to wait for each export.\n   * Value must be non-negative. A value of 0 indicates no limit (infinity).\n   * If omitted or null, 10000 is used.\n   */\n  timeout?: number;\n  temporality_preference?: ExporterTemporalityPreference;\n  default_histogram_aggregation?: ExporterDefaultHistogramAggregation;\n}\n\n/**\n * Configure exporter to be OTLP with file transport.\n * If omitted, ignore.\n */\nexport interface ExperimentalOtlpFileMetricExporter {\n  /**\n   * Configure output stream.\n   * Values include stdout, or scheme+destination. For example: file:///path/to/file.jsonl.\n   * If omitted or null, stdout is used.\n   */\n  output_stream?: string;\n  temporality_preference?: ExporterTemporalityPreference;\n  default_histogram_aggregation?: ExporterDefaultHistogramAggregation;\n}\n\n/**\n * Configure exporter to be console.\n * If omitted, ignore.\n */\nexport interface ConsoleMetricExporter {\n  temporality_preference?: ExporterTemporalityPreference;\n  default_histogram_aggregation?: ExporterDefaultHistogramAggregation;\n}\n\nexport interface MetricProducer {\n  opencensus?: OpenCensusMetricProducer;\n  [k: string]: object | undefined;\n}\n\n/**\n * Configure metric producer to be opencensus.\n * If omitted, ignore.\n */\nexport interface OpenCensusMetricProducer {}\n\n/**\n * Configure cardinality limits.\n * If omitted, default values as described in CardinalityLimits are used.\n */\nexport interface CardinalityLimits {\n  /**\n   * Configure default cardinality limit for all instrument types.\n   * Instrument-specific cardinality limits take priority.\n   * If omitted or null, 2000 is used.\n   */\n  default?: number;\n  /**\n   * Configure default cardinality limit for counter instruments.\n   * If omitted or null, the value from .default is used.\n   */\n  counter?: number;\n  /**\n   * Configure default cardinality limit for gauge instruments.\n   * If omitted or null, the value from .default is used.\n   */\n  gauge?: number;\n  /**\n   * Configure default cardinality limit for histogram instruments.\n   * If omitted or null, the value from .default is used.\n   */\n  histogram?: number;\n  /**\n   * Configure default cardinality limit for observable_counter instruments.\n   * If omitted or null, the value from .default is used.\n   */\n  observable_counter?: number;\n  /**\n   * Configure default cardinality limit for observable_gauge instruments.\n   * If omitted or null, the value from .default is used.\n   */\n  observable_gauge?: number;\n  /**\n   * Configure default cardinality limit for observable_up_down_counter instruments.\n   * If omitted or null, the value from .default is used.\n   */\n  observable_up_down_counter?: number;\n  /**\n   * Configure default cardinality limit for up_down_counter instruments.\n   * If omitted or null, the value from .default is used.\n   */\n  up_down_counter?: number;\n}\n\n/**\n * Configure a pull based metric reader.\n * If omitted, ignore.\n */\nexport interface PullMetricReader {\n  exporter: PullMetricExporter;\n  /**\n   * Configure metric producers.\n   * If omitted, no metric producers are added.\n   *\n   * @minItems 1\n   */\n  producers?: MetricProducer[];\n  cardinality_limits?: CardinalityLimits;\n}\n\n/**\n * Configure exporter.\n * Property is required and must be non-null.\n */\nexport interface PullMetricExporter {\n  'prometheus/development'?: ExperimentalPrometheusMetricExporter;\n  [k: string]: object | undefined;\n}\n\n/**\n * Configure exporter to be prometheus.\n * If omitted, ignore.\n */\nexport interface ExperimentalPrometheusMetricExporter {\n  /**\n   * Configure host.\n   * If omitted or null, localhost is used.\n   */\n  host?: string;\n  /**\n   * Configure port.\n   * If omitted or null, 9464 is used.\n   */\n  port?: number;\n  /**\n   * Configure Prometheus Exporter to produce metrics without scope labels.\n   * If omitted or null, false is used.\n   */\n  without_scope_info?: boolean;\n  /**\n   * Configure Prometheus Exporter to produce metrics without a target info metric for the resource.\n   * If omitted or null, false is used.\n   */\n  'without_target_info/development'?: boolean;\n  with_resource_constant_labels?: IncludeExclude;\n  translation_strategy?: ExperimentalPrometheusTranslationStrategy;\n}\n\n/**\n * Configure Prometheus Exporter to add resource attributes as metrics attributes, where the resource attribute keys match the patterns.\n * If omitted, no resource attributes are added.\n */\nexport interface IncludeExclude {\n  /**\n   * Configure list of value patterns to include.\n   * Values are evaluated to match as follows:\n   *  * If the value exactly matches.\n   *  * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n   * If omitted, all values are included.\n   *\n   * @minItems 1\n   */\n  included?: string[];\n  /**\n   * Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included).\n   * Values are evaluated to match as follows:\n   *  * If the value exactly matches.\n   *  * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n   * If omitted, .included attributes are included.\n   *\n   * @minItems 1\n   */\n  excluded?: string[];\n}\n\nexport interface View {\n  selector: ViewSelector;\n  stream: ViewStream;\n}\n\n/**\n * Configure view selector.\n * Selection criteria is additive as described in https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#instrument-selection-criteria.\n * Property is required and must be non-null.\n */\nexport interface ViewSelector {\n  /**\n   * Configure instrument name selection criteria.\n   * If omitted or null, all instrument names match.\n   */\n  instrument_name?: string;\n  instrument_type?: InstrumentType;\n  /**\n   * Configure the instrument unit selection criteria.\n   * If omitted or null, all instrument units match.\n   */\n  unit?: string;\n  /**\n   * Configure meter name selection criteria.\n   * If omitted or null, all meter names match.\n   */\n  meter_name?: string;\n  /**\n   * Configure meter version selection criteria.\n   * If omitted or null, all meter versions match.\n   */\n  meter_version?: string;\n  /**\n   * Configure meter schema url selection criteria.\n   * If omitted or null, all meter schema URLs match.\n   */\n  meter_schema_url?: string;\n}\n\n/**\n * Configure view stream.\n * Property is required and must be non-null.\n */\nexport interface ViewStream {\n  /**\n   * Configure metric name of the resulting stream(s).\n   * If omitted or null, the instrument's original name is used.\n   */\n  name?: string;\n  /**\n   * Configure metric description of the resulting stream(s).\n   * If omitted or null, the instrument's origin description is used.\n   */\n  description?: string;\n  aggregation?: Aggregation;\n  /**\n   * Configure the aggregation cardinality limit.\n   * If omitted or null, the metric reader's default cardinality limit is used.\n   */\n  aggregation_cardinality_limit?: number;\n  attribute_keys?: IncludeExclude;\n}\n\n/**\n * Configure aggregation of the resulting stream(s).\n * If omitted, default is used.\n */\nexport interface Aggregation {\n  default?: DefaultAggregation;\n  drop?: DropAggregation;\n  explicit_bucket_histogram?: ExplicitBucketHistogramAggregation;\n  base2_exponential_bucket_histogram?: Base2ExponentialBucketHistogramAggregation;\n  last_value?: LastValueAggregation;\n  sum?: SumAggregation;\n}\n\n/**\n * Configures the stream to use the instrument kind to select an aggregation and advisory parameters to influence aggregation configuration parameters. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#default-aggregation for details.\n * If omitted, ignore.\n */\nexport interface DefaultAggregation {}\n\n/**\n * Configures the stream to ignore/drop all instrument measurements. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#drop-aggregation for details.\n * If omitted, ignore.\n */\nexport interface DropAggregation {}\n\n/**\n * Configures the stream to collect data for the histogram metric point using a set of explicit boundary values for histogram bucketing. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#explicit-bucket-histogram-aggregation for details\n * If omitted, ignore.\n */\nexport interface ExplicitBucketHistogramAggregation {\n  /**\n   * Configure bucket boundaries.\n   * If omitted, [0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000] is used.\n   *\n   * @minItems 0\n   */\n  boundaries?: number[];\n  /**\n   * Configure record min and max.\n   * If omitted or null, true is used.\n   */\n  record_min_max?: boolean;\n}\n\n/**\n * Configures the stream to collect data for the exponential histogram metric point, which uses a base-2 exponential formula to determine bucket boundaries and an integer scale parameter to control resolution. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#base2-exponential-bucket-histogram-aggregation for details.\n * If omitted, ignore.\n */\nexport interface Base2ExponentialBucketHistogramAggregation {\n  /**\n   * Configure the max scale factor.\n   * If omitted or null, 20 is used.\n   */\n  max_scale?: number;\n  /**\n   * Configure the maximum number of buckets in each of the positive and negative ranges, not counting the special zero bucket.\n   * If omitted or null, 160 is used.\n   */\n  max_size?: number;\n  /**\n   * Configure whether or not to record min and max.\n   * If omitted or null, true is used.\n   */\n  record_min_max?: boolean;\n}\n\n/**\n * Configures the stream to collect data using the last measurement. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#last-value-aggregation for details.\n * If omitted, ignore.\n */\nexport interface LastValueAggregation {}\n\n/**\n * Configures the stream to collect the arithmetic sum of measurement values. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#sum-aggregation for details.\n * If omitted, ignore.\n */\nexport interface SumAggregation {}\n\n/**\n * Configure meters.\n * If omitted, all meters use default values as described in ExperimentalMeterConfig.\n */\nexport interface ExperimentalMeterConfigurator {\n  default_config?: ExperimentalMeterConfig;\n  /**\n   * Configure meters.\n   * If omitted, all meters used .default_config.\n   *\n   * @minItems 1\n   */\n  meters?: ExperimentalMeterMatcherAndConfig[];\n}\n\n/**\n * Configure the default meter config used there is no matching entry in .meter_configurator/development.meters.\n * If omitted, unmatched .meters use default values as described in ExperimentalMeterConfig.\n */\nexport interface ExperimentalMeterConfig {\n  /**\n   * Configure if the meter is enabled or not.\n   * If omitted, true is used.\n   */\n  enabled?: boolean;\n}\n\nexport interface ExperimentalMeterMatcherAndConfig {\n  /**\n   * Configure meter names to match, evaluated as follows:\n   *\n   *  * If the meter name exactly matches.\n   *  * If the meter name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n   * Property is required and must be non-null.\n   */\n  name: string;\n  config: ExperimentalMeterConfig;\n}\n\n/**\n * Configure text map context propagators.\n * If omitted, a noop propagator is used.\n */\nexport interface Propagator {\n  /**\n   * Configure the propagators in the composite text map propagator. Entries from .composite_list are appended to the list here with duplicates filtered out.\n   * Built-in propagator keys include: tracecontext, baggage, b3, b3multi. Known third party keys include: xray.\n   * If omitted, and .composite_list is omitted or null, a noop propagator is used.\n   *\n   * @minItems 1\n   */\n  composite?: TextMapPropagator[];\n  /**\n   * Configure the propagators in the composite text map propagator. Entries are appended to .composite with duplicates filtered out.\n   * The value is a comma separated list of propagator identifiers matching the format of OTEL_PROPAGATORS. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details.\n   * Built-in propagator identifiers include: tracecontext, baggage, b3, b3multi. Known third party identifiers include: xray.\n   * If omitted or null, and .composite is omitted or null, a noop propagator is used.\n   */\n  composite_list?: string;\n}\n\nexport interface TextMapPropagator {\n  tracecontext?: TraceContextPropagator;\n  baggage?: BaggagePropagator;\n  b3?: B3Propagator;\n  b3multi?: B3MultiPropagator;\n  [k: string]: object | undefined;\n}\n\n/**\n * Include the w3c trace context propagator.\n * If omitted, ignore.\n */\nexport interface TraceContextPropagator {}\n\n/**\n * Include the w3c baggage propagator.\n * If omitted, ignore.\n */\nexport interface BaggagePropagator {}\n\n/**\n * Include the zipkin b3 propagator.\n * If omitted, ignore.\n */\nexport interface B3Propagator {}\n\n/**\n * Include the zipkin b3 multi propagator.\n * If omitted, ignore.\n */\nexport interface B3MultiPropagator {}\n\n/**\n * Configure tracer provider.\n * If omitted, a noop tracer provider is used.\n */\nexport interface TracerProvider {\n  /**\n   * Configure span processors.\n   * Property is required and must be non-null.\n   *\n   * @minItems 1\n   */\n  processors: SpanProcessor[];\n  limits?: SpanLimits;\n  sampler?: Sampler;\n  'tracer_configurator/development'?: ExperimentalTracerConfigurator;\n}\n\nexport interface SpanProcessor {\n  batch?: BatchSpanProcessor;\n  simple?: SimpleSpanProcessor;\n  [k: string]: object | undefined;\n}\n\n/**\n * Configure a batch span processor.\n * If omitted, ignore.\n */\nexport interface BatchSpanProcessor {\n  /**\n   * Configure delay interval (in milliseconds) between two consecutive exports.\n   * Value must be non-negative.\n   * If omitted or null, 5000 is used.\n   */\n  schedule_delay?: number;\n  /**\n   * Configure maximum allowed time (in milliseconds) to export data.\n   * Value must be non-negative. A value of 0 indicates no limit (infinity).\n   * If omitted or null, 30000 is used.\n   */\n  export_timeout?: number;\n  /**\n   * Configure maximum queue size. Value must be positive.\n   * If omitted or null, 2048 is used.\n   */\n  max_queue_size?: number;\n  /**\n   * Configure maximum batch size. Value must be positive.\n   * If omitted or null, 512 is used.\n   */\n  max_export_batch_size?: number;\n  exporter: SpanExporter;\n}\n\n/**\n * Configure exporter.\n * Property is required and must be non-null.\n */\nexport interface SpanExporter {\n  otlp_http?: OtlpHttpExporter;\n  otlp_grpc?: OtlpGrpcExporter;\n  'otlp_file/development'?: ExperimentalOtlpFileExporter;\n  console?: ConsoleExporter;\n  [k: string]: object | undefined;\n}\n\n/**\n * Configure a simple span processor.\n * If omitted, ignore.\n */\nexport interface SimpleSpanProcessor {\n  exporter: SpanExporter;\n}\n\n/**\n * Configure span limits. See also attribute_limits.\n * If omitted, default values as described in SpanLimits are used.\n */\nexport interface SpanLimits {\n  /**\n   * Configure max attribute value size. Overrides .attribute_limits.attribute_value_length_limit.\n   * Value must be non-negative.\n   * If omitted or null, there is no limit.\n   */\n  attribute_value_length_limit?: number;\n  /**\n   * Configure max attribute count. Overrides .attribute_limits.attribute_count_limit.\n   * Value must be non-negative.\n   * If omitted or null, 128 is used.\n   */\n  attribute_count_limit?: number;\n  /**\n   * Configure max span event count.\n   * Value must be non-negative.\n   * If omitted or null, 128 is used.\n   */\n  event_count_limit?: number;\n  /**\n   * Configure max span link count.\n   * Value must be non-negative.\n   * If omitted or null, 128 is used.\n   */\n  link_count_limit?: number;\n  /**\n   * Configure max attributes per span event.\n   * Value must be non-negative.\n   * If omitted or null, 128 is used.\n   */\n  event_attribute_count_limit?: number;\n  /**\n   * Configure max attributes per span link.\n   * Value must be non-negative.\n   * If omitted or null, 128 is used.\n   */\n  link_attribute_count_limit?: number;\n}\n\n/**\n * Configure the sampler.\n * If omitted, parent based sampler with a root of always_on is used.\n */\nexport interface Sampler {\n  always_off?: AlwaysOffSampler;\n  always_on?: AlwaysOnSampler;\n  'composite/development'?: ExperimentalComposableSampler;\n  'jaeger_remote/development'?: ExperimentalJaegerRemoteSampler;\n  parent_based?: ParentBasedSampler;\n  'probability/development'?: ExperimentalProbabilitySampler;\n  trace_id_ratio_based?: TraceIdRatioBasedSampler;\n  [k: string]: object | undefined;\n}\n\n/**\n * Configure sampler to be always_off.\n * If omitted, ignore.\n */\nexport interface AlwaysOffSampler {}\n\n/**\n * Configure sampler to be always_on.\n * If omitted, ignore.\n */\nexport interface AlwaysOnSampler {}\n\n/**\n * Configure sampler to be composite.\n * If omitted, ignore.\n */\nexport interface ExperimentalComposableSampler {\n  always_off?: ExperimentalComposableAlwaysOffSampler;\n  always_on?: ExperimentalComposableAlwaysOnSampler;\n  parent_threshold?: ExperimentalComposableParentThresholdSampler;\n  probability?: ExperimentalComposableProbabilitySampler;\n  rule_based?: ExperimentalComposableRuleBasedSampler;\n  [k: string]: object | undefined;\n}\n\n/**\n * Configure sampler to be always_off.\n * If omitted, ignore.\n */\nexport interface ExperimentalComposableAlwaysOffSampler {}\n\n/**\n * Configure sampler to be always_on.\n * If omitted, ignore.\n */\nexport interface ExperimentalComposableAlwaysOnSampler {}\n\n/**\n * Configure sampler to be parent_threshold.\n * If omitted, ignore.\n */\nexport interface ExperimentalComposableParentThresholdSampler {\n  root: ExperimentalComposableSampler;\n}\n\n/**\n * Configure sampler to be probability.\n * If omitted, ignore.\n */\nexport interface ExperimentalComposableProbabilitySampler {\n  /**\n   * Configure ratio.\n   * If omitted or null, 1.0 is used.\n   */\n  ratio?: number;\n}\n\n/**\n * Configure sampler to be rule_based.\n * If omitted, ignore.\n */\nexport interface ExperimentalComposableRuleBasedSampler {\n  /**\n   * The rules for the sampler, matched in order.\n   * Each rule can have multiple match conditions. All conditions must match for the rule to match.\n   * If no conditions are specified, the rule matches all spans that reach it.\n   * If no rules match, the span is not sampled.\n   * If omitted, no span is sampled.\n   *\n   * @minItems 1\n   */\n  rules?: ExperimentalComposableRuleBasedSamplerRule[];\n}\n\n/**\n * A rule for ExperimentalComposableRuleBasedSampler. A rule can have multiple match conditions - the sampler will be applied if all match.\n * If no conditions are specified, the rule matches all spans that reach it.\n */\nexport interface ExperimentalComposableRuleBasedSamplerRule {\n  attribute_values?: ExperimentalComposableRuleBasedSamplerRuleAttributeValues;\n  attribute_patterns?: ExperimentalComposableRuleBasedSamplerRuleAttributePatterns;\n  /**\n   * The span kinds to match. If the span's kind matches any of these, it matches.\n   * Values include:\n   * * client: client, a client span.\n   * * consumer: consumer, a consumer span.\n   * * internal: internal, an internal span.\n   * * producer: producer, a producer span.\n   * * server: server, a server span.\n   * If omitted, ignore.\n   *\n   * @minItems 1\n   */\n  span_kinds?: SpanKind[];\n  /**\n   * The parent span types to match.\n   * Values include:\n   * * local: local, a local parent.\n   * * none: none, no parent, i.e., the trace root.\n   * * remote: remote, a remote parent.\n   * If omitted, ignore.\n   *\n   * @minItems 1\n   */\n  parent?: ExperimentalSpanParent[];\n  sampler: ExperimentalComposableSampler;\n}\n\n/**\n * Values to match against a single attribute. Non-string attributes are matched using their string representation:\n * for example, a value of \"404\" would match the http.response.status_code 404. For array attributes, if any\n * item matches, it is considered a match.\n * If omitted, ignore.\n */\nexport interface ExperimentalComposableRuleBasedSamplerRuleAttributeValues {\n  /**\n   * The attribute key to match against.\n   * Property is required and must be non-null.\n   */\n  key: string;\n  /**\n   * The attribute values to match against. If the attribute's value matches any of these, it matches.\n   * Property is required and must be non-null.\n   *\n   * @minItems 1\n   */\n  values: string[];\n}\n\n/**\n * Patterns to match against a single attribute. Non-string attributes are matched using their string representation:\n * for example, a pattern of \"4*\" would match any http.response.status_code in 400-499. For array attributes, if any\n * item matches, it is considered a match.\n * If omitted, ignore.\n */\nexport interface ExperimentalComposableRuleBasedSamplerRuleAttributePatterns {\n  /**\n   * The attribute key to match against.\n   * Property is required and must be non-null.\n   */\n  key: string;\n  /**\n   * Configure list of value patterns to include.\n   * Values are evaluated to match as follows:\n   *  * If the value exactly matches.\n   *  * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n   * If omitted, all values are included.\n   *\n   * @minItems 1\n   */\n  included?: string[];\n  /**\n   * Configure list of value patterns to exclude. Applies after .included (i.e. excluded has higher priority than included).\n   * Values are evaluated to match as follows:\n   *  * If the value exactly matches.\n   *  * If the value matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n   * If omitted, .included attributes are included.\n   *\n   * @minItems 1\n   */\n  excluded?: string[];\n}\n\n/**\n * Configure sampler to be jaeger_remote.\n * If omitted, ignore.\n */\nexport interface ExperimentalJaegerRemoteSampler {\n  /**\n   * Configure the endpoint of the jaeger remote sampling service.\n   * Property is required and must be non-null.\n   */\n  endpoint: string;\n  /**\n   * Configure the polling interval (in milliseconds) to fetch from the remote sampling service.\n   * If omitted or null, 60000 is used.\n   */\n  interval?: number;\n  initial_sampler: Sampler;\n}\n\n/**\n * Configure sampler to be parent_based.\n * If omitted, ignore.\n */\nexport interface ParentBasedSampler {\n  root?: Sampler;\n  remote_parent_sampled?: Sampler;\n  remote_parent_not_sampled?: Sampler;\n  local_parent_sampled?: Sampler;\n  local_parent_not_sampled?: Sampler;\n}\n\n/**\n * Configure sampler to be probability.\n * If omitted, ignore.\n */\nexport interface ExperimentalProbabilitySampler {\n  /**\n   * Configure ratio.\n   * If omitted or null, 1.0 is used.\n   */\n  ratio?: number;\n}\n\n/**\n * Configure sampler to be trace_id_ratio_based.\n * If omitted, ignore.\n */\nexport interface TraceIdRatioBasedSampler {\n  /**\n   * Configure trace_id_ratio.\n   * If omitted or null, 1.0 is used.\n   */\n  ratio?: number;\n}\n\n/**\n * Configure tracers.\n * If omitted, all tracers use default values as described in ExperimentalTracerConfig.\n */\nexport interface ExperimentalTracerConfigurator {\n  default_config?: ExperimentalTracerConfig;\n  /**\n   * Configure tracers.\n   * If omitted, all tracers use .default_config.\n   *\n   * @minItems 1\n   */\n  tracers?: ExperimentalTracerMatcherAndConfig[];\n}\n\n/**\n * Configure the default tracer config used there is no matching entry in .tracer_configurator/development.tracers.\n * If omitted, unmatched .tracers use default values as described in ExperimentalTracerConfig.\n */\nexport interface ExperimentalTracerConfig {\n  /**\n   * Configure if the tracer is enabled or not.\n   * If omitted, true is used.\n   */\n  enabled?: boolean;\n}\n\nexport interface ExperimentalTracerMatcherAndConfig {\n  /**\n   * Configure tracer names to match, evaluated as follows:\n   *\n   *  * If the tracer name exactly matches.\n   *  * If the tracer name matches the wildcard pattern, where '?' matches any single character and '*' matches any number of characters including none.\n   * Property is required and must be non-null.\n   */\n  name: string;\n  config: ExperimentalTracerConfig;\n}\n\n/**\n * Configure resource for all signals.\n * If omitted, the default resource is used.\n */\nexport interface Resource {\n  /**\n   * Configure resource attributes. Entries have higher priority than entries from .resource.attributes_list.\n   * If omitted, no resource attributes are added.\n   *\n   * @minItems 1\n   */\n  attributes?: AttributeNameValue[];\n  'detection/development'?: ExperimentalResourceDetection;\n  /**\n   * Configure resource schema URL.\n   * If omitted or null, no schema URL is used.\n   */\n  schema_url?: string;\n  /**\n   * Configure resource attributes. Entries have lower priority than entries from .resource.attributes.\n   * The value is a list of comma separated key-value pairs matching the format of OTEL_RESOURCE_ATTRIBUTES. See https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration for details.\n   * If omitted or null, no resource attributes are added.\n   */\n  attributes_list?: string;\n}\n\nexport interface AttributeNameValue {\n  /**\n   * The attribute name.\n   * Property is required and must be non-null.\n   */\n  name: string;\n  /**\n   * The attribute value.\n   * The type of value must match .type.\n   * Property is required and must be non-null.\n   */\n  value: string | number | boolean | string[] | boolean[] | number[];\n  type?: AttributeType;\n}\n\n/**\n * Configure resource detection.\n * If omitted, resource detection is disabled.\n */\nexport interface ExperimentalResourceDetection {\n  attributes?: IncludeExclude;\n  /**\n   * Configure resource detectors.\n   * Resource detector names are dependent on the SDK language ecosystem. Please consult documentation for each respective language.\n   * If omitted, no resource detectors are enabled.\n   *\n   * @minItems 1\n   */\n  detectors?: ExperimentalResourceDetector[];\n}\n\nexport interface ExperimentalResourceDetector {\n  container?: ExperimentalContainerResourceDetector;\n  host?: ExperimentalHostResourceDetector;\n  process?: ExperimentalProcessResourceDetector;\n  service?: ExperimentalServiceResourceDetector;\n  [k: string]: object | undefined;\n}\n\n/**\n * Enable the container resource detector, which populates container.* attributes.\n * If omitted, ignore.\n */\nexport interface ExperimentalContainerResourceDetector {}\n\n/**\n * Enable the host resource detector, which populates host.* and os.* attributes.\n * If omitted, ignore.\n */\nexport interface ExperimentalHostResourceDetector {}\n\n/**\n * Enable the process resource detector, which populates process.* attributes.\n * If omitted, ignore.\n */\nexport interface ExperimentalProcessResourceDetector {}\n\n/**\n * Enable the service detector, which populates service.name based on the OTEL_SERVICE_NAME environment variable and service.instance.id.\n * If omitted, ignore.\n */\nexport interface ExperimentalServiceResourceDetector {}\n\n/**\n * Configure instrumentation.\n * If omitted, instrumentation defaults are used.\n */\nexport interface ExperimentalInstrumentation {\n  general?: ExperimentalGeneralInstrumentation;\n  cpp?: ExperimentalLanguageSpecificInstrumentation;\n  dotnet?: ExperimentalLanguageSpecificInstrumentation;\n  erlang?: ExperimentalLanguageSpecificInstrumentation;\n  go?: ExperimentalLanguageSpecificInstrumentation;\n  java?: ExperimentalLanguageSpecificInstrumentation;\n  js?: ExperimentalLanguageSpecificInstrumentation;\n  php?: ExperimentalLanguageSpecificInstrumentation;\n  python?: ExperimentalLanguageSpecificInstrumentation;\n  ruby?: ExperimentalLanguageSpecificInstrumentation;\n  rust?: ExperimentalLanguageSpecificInstrumentation;\n  swift?: ExperimentalLanguageSpecificInstrumentation;\n}\n\n/**\n * Configure general SemConv options that may apply to multiple languages and instrumentations.\n * Instrumenation may merge general config options with the language specific configuration at .instrumentation.<language>.\n * If omitted, default values as described in ExperimentalGeneralInstrumentation are used.\n */\nexport interface ExperimentalGeneralInstrumentation {\n  http?: ExperimentalHttpInstrumentation;\n  code?: ExperimentalCodeInstrumentation;\n  db?: ExperimentalDbInstrumentation;\n  gen_ai?: ExperimentalGenAiInstrumentation;\n  messaging?: ExperimentalMessagingInstrumentation;\n  rpc?: ExperimentalRpcInstrumentation;\n  sanitization?: ExperimentalSanitization;\n  /**\n   * Configure semantic convention stability opt-in as a comma-separated list.\n   * This property follows the format and semantics of the OTEL_SEMCONV_STABILITY_OPT_IN environment variable.\n   * Controls the emission of stable vs. experimental semantic conventions for instrumentation.\n   * This setting is only intended for migrating from experimental to stable semantic conventions.\n   *\n   * Known values include:\n   * - http: Emit stable HTTP and networking conventions only\n   * - http/dup: Emit both old and stable HTTP and networking conventions (for phased migration)\n   * - database: Emit stable database conventions only\n   * - database/dup: Emit both old and stable database conventions (for phased migration)\n   * - rpc: Emit stable RPC conventions only\n   * - rpc/dup: Emit both experimental and stable RPC conventions (for phased migration)\n   * - messaging: Emit stable messaging conventions only\n   * - messaging/dup: Emit both old and stable messaging conventions (for phased migration)\n   * - code: Emit stable code conventions only\n   * - code/dup: Emit both old and stable code conventions (for phased migration)\n   *\n   * Multiple values can be specified as a comma-separated list (e.g., \"http,database/dup\").\n   * Additional signal types may be supported in future versions.\n   *\n   * Domain-specific semconv properties (e.g., .instrumentation/development.general.db.semconv) take precedence over this general setting.\n   *\n   * See:\n   * - HTTP migration: https://opentelemetry.io/docs/specs/semconv/non-normative/http-migration/\n   * - Database migration: https://opentelemetry.io/docs/specs/semconv/database/\n   * - RPC: https://opentelemetry.io/docs/specs/semconv/rpc/\n   * - Messaging: https://opentelemetry.io/docs/specs/semconv/messaging/messaging-spans/\n   * If omitted or null, no opt-in is configured and instrumentations continue emitting their default semantic convention version.\n   */\n  stability_opt_in_list?: string;\n}\n\n/**\n * Configure instrumentations following the http semantic conventions.\n * See http semantic conventions: https://opentelemetry.io/docs/specs/semconv/http/\n * If omitted, defaults as described in ExperimentalHttpInstrumentation are used.\n */\nexport interface ExperimentalHttpInstrumentation {\n  semconv?: ExperimentalSemconvConfig;\n  client?: ExperimentalHttpClientInstrumentation;\n  server?: ExperimentalHttpServerInstrumentation;\n}\n\n/**\n * Configure HTTP semantic convention version and migration behavior.\n *\n * This property takes precedence over the .instrumentation/development.general.stability_opt_in_list setting.\n *\n * See HTTP migration: https://opentelemetry.io/docs/specs/semconv/non-normative/http-migration/\n * If omitted, uses the general stability_opt_in_list setting, or instrumentations continue emitting their default semantic convention version if not set.\n */\nexport interface ExperimentalSemconvConfig {\n  /**\n   * The target semantic convention version for this domain (e.g., 1).\n   * If omitted or null, the latest stable version is used, or if no stable version is available and .experimental is true then the latest experimental version is used.\n   */\n  version?: number;\n  /**\n   * Use latest experimental semantic conventions (before stable is available or to enable experimental features on top of stable conventions).\n   * If omitted or null, false is used.\n   */\n  experimental?: boolean;\n  /**\n   * When true, also emit the previous major version alongside the target version.\n   * For version=1, the previous version refers to the pre-stable conventions that the instrumentation emitted before the first stable semantic convention version was defined.\n   * For version=2 and above, the previous version is the prior stable major version (e.g., version=2, dual_emit=true emits both v2 and v1).\n   * Enables dual-emit for phased migration between versions.\n   * If omitted or null, false is used.\n   */\n  dual_emit?: boolean;\n}\n\n/**\n * Configure instrumentations following the http client semantic conventions.\n * If omitted, defaults as described in ExperimentalHttpClientInstrumentation are used.\n */\nexport interface ExperimentalHttpClientInstrumentation {\n  /**\n   * Configure headers to capture for outbound http requests.\n   * If omitted, no outbound request headers are captured.\n   *\n   * @minItems 1\n   */\n  request_captured_headers?: string[];\n  /**\n   * Configure headers to capture for inbound http responses.\n   * If omitted, no inbound response headers are captured.\n   *\n   * @minItems 1\n   */\n  response_captured_headers?: string[];\n  /**\n   * Override the default list of known HTTP methods.\n   * Known methods are case-sensitive.\n   * This is a full override of the default known methods, not a list of known methods in addition to the defaults.\n   * If omitted, HTTP methods GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH are known.\n   *\n   * @minItems 0\n   */\n  known_methods?: string[];\n}\n\n/**\n * Configure instrumentations following the http server semantic conventions.\n * If omitted, defaults as described in ExperimentalHttpServerInstrumentation are used.\n */\nexport interface ExperimentalHttpServerInstrumentation {\n  /**\n   * Configure headers to capture for inbound http requests.\n   * If omitted, no request headers are captured.\n   *\n   * @minItems 1\n   */\n  request_captured_headers?: string[];\n  /**\n   * Configure headers to capture for outbound http responses.\n   * If omitted, no response headers are captures.\n   *\n   * @minItems 1\n   */\n  response_captured_headers?: string[];\n  /**\n   * Override the default list of known HTTP methods.\n   * Known methods are case-sensitive.\n   * This is a full override of the default known methods, not a list of known methods in addition to the defaults.\n   * If omitted, HTTP methods GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH are known.\n   *\n   * @minItems 0\n   */\n  known_methods?: string[];\n}\n\n/**\n * Configure instrumentations following the code semantic conventions.\n * See code semantic conventions: https://opentelemetry.io/docs/specs/semconv/registry/attributes/code/\n * If omitted, defaults as described in ExperimentalCodeInstrumentation are used.\n */\nexport interface ExperimentalCodeInstrumentation {\n  semconv?: ExperimentalSemconvConfig;\n}\n\n/**\n * Configure instrumentations following the database semantic conventions.\n * See database semantic conventions: https://opentelemetry.io/docs/specs/semconv/database/\n * If omitted, defaults as described in ExperimentalDbInstrumentation are used.\n */\nexport interface ExperimentalDbInstrumentation {\n  semconv?: ExperimentalSemconvConfig;\n}\n\n/**\n * Configure instrumentations following the GenAI semantic conventions.\n * See GenAI semantic conventions: https://opentelemetry.io/docs/specs/semconv/gen-ai/\n * If omitted, defaults as described in ExperimentalGenAiInstrumentation are used.\n */\nexport interface ExperimentalGenAiInstrumentation {\n  semconv?: ExperimentalSemconvConfig;\n}\n\n/**\n * Configure instrumentations following the messaging semantic conventions.\n * See messaging semantic conventions: https://opentelemetry.io/docs/specs/semconv/messaging/\n * If omitted, defaults as described in ExperimentalMessagingInstrumentation are used.\n */\nexport interface ExperimentalMessagingInstrumentation {\n  semconv?: ExperimentalSemconvConfig;\n}\n\n/**\n * Configure instrumentations following the RPC semantic conventions.\n * See RPC semantic conventions: https://opentelemetry.io/docs/specs/semconv/rpc/\n * If omitted, defaults as described in ExperimentalRpcInstrumentation are used.\n */\nexport interface ExperimentalRpcInstrumentation {\n  semconv?: ExperimentalSemconvConfig;\n}\n\n/**\n * Configure general sanitization options.\n * If omitted, defaults as described in ExperimentalSanitization are used.\n */\nexport interface ExperimentalSanitization {\n  url?: ExperimentalUrlSanitization;\n}\n\n/**\n * Configure URL sanitization options.\n * If omitted, defaults as described in ExperimentalUrlSanitization are used.\n */\nexport interface ExperimentalUrlSanitization {\n  /**\n   * List of query parameter names whose values should be redacted from URLs.\n   * Query parameter names are case-sensitive.\n   * This is a full override of the default sensitive query parameter keys, it is not a list of keys in addition to the defaults.\n   * Set to an empty array to disable query parameter redaction.\n   * If omitted, the default sensitive query parameter list as defined by the url semantic conventions (https://github.com/open-telemetry/semantic-conventions/blob/main/docs/registry/attributes/url.md) is used.\n   *\n   * @minItems 0\n   */\n  sensitive_query_parameters?: string[];\n}\n\n/**\n * Configure C++ language-specific instrumentation libraries.\n * If omitted, instrumentation defaults are used.\n */\nexport interface ExperimentalLanguageSpecificInstrumentation {\n  [k: string]: object;\n}\n\n/**\n * Defines configuration parameters specific to a particular OpenTelemetry distribution or vendor.\n * This section provides a standardized location for distribution-specific settings\n * that are not part of the OpenTelemetry configuration model.\n * It allows vendors to expose their own extensions and general configuration options.\n * If omitted, distribution defaults are used.\n */\nexport interface Distribution {\n  [k: string]: object;\n}\n"]}