# sig/metrics/backend/capture.rbs

class Metrics::Backend::Capture::Metric < Metrics::Backend::Capture::Metrics::Metric
  def as_json: () -> untyped
  def emit: () -> untyped
  def initialize: () -> void
  def to_json: () -> untyped
end


# sig/metrics/backend/console.rbs

class Metrics::Backend::Console::Metric < Metrics::Backend::Console::Metrics::Metric
  def emit: () -> untyped
end


# sig/metrics/backend/test.rbs

class Metrics::Backend::Test::Metric < Metrics::Backend::Test::Metrics::Metric
  def emit: () -> untyped
end


# sig/metrics/config.rbs

class Metrics::Config
  def self.default: () -> untyped
  def self.load: () -> untyped
  def prepare: () -> untyped
  def require_backend: () -> untyped
end


# sig/metrics/metric.rbs

class Metrics::Metric
  def emit: () -> untyped
  def initialize: () -> void
end


# sig/metrics.rbs

module Metrics
  def self.Provider: () -> untyped
  def self.Provider: () -> untyped
  def self.enabled?: () -> untyped
end


# sig/metrics/backend/capture.rbs

module Metrics::Backend::Capture
  def self.metrics: () -> untyped
end


# sig/metrics/backend/capture.rbs

module Metrics::Backend::Capture::Interface
  def metric: () -> untyped
end


# sig/metrics/backend/console.rbs

module Metrics::Backend::Console::Interface
  def metric: () -> untyped
end


# sig/metrics/backend/test.rbs

module Metrics::Backend::Test::Interface
  def metric: () -> untyped
end


# sig/metrics/provider.rbs

module Metrics::Singleton
  def metrics_provider: () -> untyped
end


# sig/metrics/tags.rbs

module Metrics::Tags
  def self.normalize: () -> untyped
end
