# sig/connection_pool.rbs

class ConnectionPool
  def self.after_fork: () -> untyped
  def self.after_fork: () -> untyped
  def self.wrap: () -> untyped
  def available: () -> untyped
  def checkin: () -> untyped
  def checkout: () -> untyped
  def discard_current_connection: () -> untyped
  def idle: () -> untyped
  def initialize: () -> void
  def reap: () -> untyped
  def reload: () -> untyped
  def shutdown: () -> untyped
  def with: () -> untyped
end


# sig/connection_pool/timed_stack.rbs

class ConnectionPool::TimedStack
  def connection_stored?: () -> untyped
  def current_time: () -> untyped
  def decrement_created: () -> untyped
  def empty?: () -> untyped
  def fetch_connection: () -> untyped
  def idle: () -> untyped
  def idle_connections?: () -> untyped
  def initialize: () -> void
  def length: () -> untyped
  def pop: () -> untyped
  def push: () -> untyped
  def reap: () -> untyped
  def reserve_idle_connection: () -> untyped
  def shutdown: () -> untyped
  def shutdown_connections: () -> untyped
  def store_connection: () -> untyped
  def try_create: () -> untyped
  def try_fetch_connection: () -> untyped
end


# sig/connection_pool/wrapper.rbs

class ConnectionPool::Wrapper < BasicObject
  def initialize: () -> void
  def method_missing: () -> untyped
  def method_missing: () -> untyped
  def method_missing: () -> untyped
  def pool_available: () -> untyped
  def pool_shutdown: () -> untyped
  def pool_size: () -> untyped
  def respond_to?: () -> untyped
  def with: () -> untyped
  def wrapped_pool: () -> untyped
end


# sig/connection_pool.rbs

module ConnectionPool::ForkTracker
  def _fork: () -> untyped
end
