# This file is autogenerated. Do not edit it by hand. Regenerate it with:
#   srb rbi gems

# typed: true
#
# If you would like to make changes to this file, great! Please create the gem's shim here:
#
#   https://github.com/sorbet/sorbet-typed/new/master?filename=lib/kramdown/all/kramdown.rbi
#
# kramdown-2.3.2

module Kramdown
  def self.data_dir; end
end
class Kramdown::Element
  def attr; end
  def block?; end
  def children; end
  def children=(arg0); end
  def initialize(type, value = nil, attr = nil, options = nil); end
  def inspect; end
  def options; end
  def self.category(el); end
  def span?; end
  def type; end
  def type=(arg0); end
  def value; end
  def value=(arg0); end
end
class Kramdown::Error < RuntimeError
end
module Kramdown::Parser
end
module Kramdown::Utils
  def self.camelize(name); end
  def self.deep_const_get(str); end
  def self.snake_case(name); end
end
module Kramdown::Utils::Configurable
  def configurable(name); end
end
module Kramdown::Converter
  def self.add_math_engine(data, *args, &block); end
  def self.add_syntax_highlighter(data, *args, &block); end
  def self.configurables; end
  def self.math_engine(data); end
  def self.syntax_highlighter(data); end
  extend Kramdown::Utils::Configurable
end
module Kramdown::Options
  def self.defaults; end
  def self.define(name, type, default, desc, &block); end
  def self.defined?(name); end
  def self.definitions; end
  def self.merge(hash); end
  def self.parse(name, data); end
  def self.simple_array_validator(val, name, size = nil); end
  def self.simple_hash_validator(val, name); end
  def self.str_to_sym(data); end
end
class Kramdown::Options::Boolean
  def self.===(other); end
end
class Kramdown::Options::Definition < Struct
  def default; end
  def default=(_); end
  def desc; end
  def desc=(_); end
  def name; end
  def name=(_); end
  def self.[](*arg0); end
  def self.inspect; end
  def self.members; end
  def self.new(*arg0); end
  def type; end
  def type=(_); end
  def validator; end
  def validator=(_); end
end
class Kramdown::Document
  def initialize(source, options = nil); end
  def inspect; end
  def method_missing(id, *attr, &block); end
  def options; end
  def root; end
  def root=(arg0); end
  def try_require(type, name); end
  def warnings; end
end
class Kramdown::Converter::Base
  def apply_template_after?; end
  def apply_template_before?; end
  def basic_generate_id(str); end
  def convert(_el); end
  def data; end
  def extract_code_language!(attr); end
  def extract_code_language(attr); end
  def format_math(el, opts = nil); end
  def generate_id(str); end
  def highlight_code(text, lang, type, opts = nil); end
  def in_toc?(el); end
  def initialize(root, options); end
  def options; end
  def output_header_level(level); end
  def root; end
  def self.allocate; end
  def self.apply_template(converter, body); end
  def self.convert(tree, options = nil); end
  def self.get_template(template); end
  def self.new(*arg0); end
  def smart_quote_entity(el); end
  def warning(text); end
  def warnings; end
end
module Kramdown::Utils::Html
  def entity_to_str(e, original = nil); end
  def escape_html(str, type = nil); end
  def fix_cjk_line_break(str); end
  def html_attributes(attr); end
end
class Kramdown::Parser::Base
  def adapt_source(source); end
  def add_text(text, tree = nil, type = nil); end
  def extract_string(range, strscan); end
  def initialize(source, options); end
  def options; end
  def parse; end
  def root; end
  def self.allocate; end
  def self.new(*arg0); end
  def self.parse(source, options = nil); end
  def source; end
  def warning(text); end
  def warnings; end
end
module Kramdown::Utils::Entities
  def entity(point_or_name); end
  def self.entity(point_or_name); end
end
class Kramdown::Utils::Entities::Entity < Struct
  def char; end
  def code_point; end
  def code_point=(_); end
  def name; end
  def name=(_); end
  def self.[](*arg0); end
  def self.inspect; end
  def self.members; end
  def self.new(*arg0); end
end
class Kramdown::Parser::Html < Kramdown::Parser::Base
  def parse; end
  include Kramdown::Parser::Html::Parser
end
module Kramdown::Parser::Html::Constants
end
module Kramdown::Parser::Html::Parser
  def handle_html_start_tag(line = nil); end
  def handle_raw_html_tag(name); end
  def parse_html_attributes(str, line = nil, in_html_tag = nil); end
  def parse_raw_html(el, &block); end
  include Kramdown::Parser::Html::Constants
end
class Kramdown::Parser::Html::ElementConverter
  def convert_a(el); end
  def convert_b(el); end
  def convert_code(el); end
  def convert_em(el); end
  def convert_h1(el); end
  def convert_h2(el); end
  def convert_h3(el); end
  def convert_h4(el); end
  def convert_h5(el); end
  def convert_h6(el); end
  def convert_i(el); end
  def convert_pre(el); end
  def convert_script(el); end
  def convert_strong(el); end
  def convert_table(el); end
  def convert_textarea(el); end
  def extract_text(el, raw); end
  def handle_math_tag(el); end
  def initialize(root); end
  def is_math_tag?(el); end
  def is_simple_table?(el); end
  def process(el, do_conversion = nil, preserve_text = nil, parent = nil); end
  def process_children(el, do_conversion = nil, preserve_text = nil); end
  def process_html_element(el, do_conversion = nil, preserve_text = nil); end
  def process_text(raw, preserve = nil); end
  def remove_text_children(el); end
  def remove_whitespace_children(el); end
  def self.convert(root, el = nil); end
  def set_basics(el, type, opts = nil); end
  def strip_whitespace(el); end
  def wrap_text_children(el); end
  include Kramdown::Parser::Html::Constants
  include Kramdown::Utils::Entities
end
class Kramdown::Converter::Html < Kramdown::Converter::Base
  def add_syntax_highlighter_to_class_attr(attr, lang = nil); end
  def convert(el, indent = nil); end
  def convert_a(el, indent); end
  def convert_abbreviation(el, _indent); end
  def convert_blank(_el, _indent); end
  def convert_blockquote(el, indent); end
  def convert_br(_el, _indent); end
  def convert_codeblock(el, indent); end
  def convert_codespan(el, _indent); end
  def convert_comment(el, indent); end
  def convert_dd(el, indent); end
  def convert_dl(el, indent); end
  def convert_dt(el, indent); end
  def convert_em(el, indent); end
  def convert_entity(el, _indent); end
  def convert_footnote(el, _indent); end
  def convert_header(el, indent); end
  def convert_hr(el, indent); end
  def convert_html_element(el, indent); end
  def convert_img(el, _indent); end
  def convert_li(el, indent); end
  def convert_math(el, indent); end
  def convert_ol(el, indent); end
  def convert_p(el, indent); end
  def convert_raw(el, _indent); end
  def convert_root(el, indent); end
  def convert_smart_quote(el, _indent); end
  def convert_standalone_image(el, indent); end
  def convert_strong(el, indent); end
  def convert_table(el, indent); end
  def convert_tbody(el, indent); end
  def convert_td(el, indent); end
  def convert_text(el, _indent); end
  def convert_tfoot(el, indent); end
  def convert_thead(el, indent); end
  def convert_tr(el, indent); end
  def convert_typographic_sym(el, _indent); end
  def convert_ul(el, indent); end
  def convert_xml_comment(el, indent); end
  def convert_xml_pi(el, indent); end
  def fix_for_toc_entry(elements); end
  def footnote_content; end
  def format_as_block_html(name, attr, body, indent); end
  def format_as_indented_block_html(name, attr, body, indent); end
  def format_as_span_html(name, attr, body); end
  def generate_toc_tree(toc, type, attr); end
  def indent; end
  def indent=(arg0); end
  def initialize(root, options); end
  def inner(el, indent); end
  def obfuscate(text); end
  def remove_footnotes(elements); end
  def unwrap_links(elements); end
  include Kramdown::Parser::Html::Constants
  include Kramdown::Utils::Html
end