# This file is autogenerated. Do not edit it by hand. Regenerate it with:
#   tapioca sync

# typed: true

module MIME
end

class MIME::Types
  include(::Enumerable)
  extend(::Enumerable)

  def initialize; end

  def [](type_id, complete: _, registered: _); end
  def add(*types); end
  def add_type(type, quiet = _); end
  def count; end
  def each; end
  def inspect; end
  def of(filename); end
  def type_for(filename); end

  private

  def add_type_variant!(mime_type); end
  def index_extensions!(mime_type); end
  def match(pattern); end
  def prune_matches(matches, complete, registered); end
  def reindex_extensions!(mime_type); end

  def self.[](type_id, complete: _, registered: _); end
  def self.add(*types); end
  def self.count; end
  def self.each; end
  def self.logger; end
  def self.logger=(_); end
  def self.new(*_); end
  def self.of(filename); end
  def self.type_for(filename); end
end

class MIME::Types::Cache < ::Struct
  def data; end
  def data=(_); end
  def version; end
  def version=(_); end

  def self.[](*_); end
  def self.inspect; end
  def self.load(cache_file = _); end
  def self.members; end
  def self.new(*_); end
  def self.save(types = _, cache_file = _); end
end

module MIME::Types::Data
end

MIME::Types::Data::PATH = T.let(T.unsafe(nil), String)

MIME::Types::Data::VERSION = T.let(T.unsafe(nil), String)

MIME::Types::VERSION = T.let(T.unsafe(nil), String)
