# sig/async/pool/controller.rbs

class Async::Pool::Controller
  def self.wrap: () -> untyped
  def acquire: () -> untyped
  def active?: () -> untyped
  def availability_string: () -> untyped
  def available?: () -> untyped
  def available_resource: () -> untyped
  def busy?: () -> untyped
  def close: () -> untyped
  def create_resource: () -> untyped
  def empty?: () -> untyped
  def free: () -> untyped
  def get_resource: () -> untyped
  def initialize: () -> void
  def overflowing?: () -> untyped
  def prune: () -> untyped
  def release: () -> untyped
  def retire: () -> untyped
  def reuse: () -> untyped
  def size: () -> untyped
  def start_gardener: () -> untyped
  def to_s: () -> untyped
  def usage: () -> untyped
  def usage_string: () -> untyped
  def wait: () -> untyped
  def wait_for_resource: () -> untyped
end


# sig/async/pool/resource.rbs

class Async::Pool::Resource
  def self.call: () -> untyped
  def close: () -> untyped
  def closed?: () -> untyped
  def initialize: () -> void
  def reusable?: () -> untyped
  def viable?: () -> untyped
end
