module Yard
module Yaml
VERSION: String

# Global configuration and pages accessors
def self.config: () -> Yard::Yaml::Config
def self.configure: (?Hash[untyped, untyped] overrides) { (Yard::Yaml::Config) -> void } -> Yard::Yaml::Config
def self.pages: () -> (Array[Hash[untyped, untyped]] | nil)
def self.__set_pages__: (Array[Hash[untyped, untyped]] list) -> Array[Hash[untyped, untyped]]
def self.warn: (String message) -> void
def self.error: (String message) -> void

class Config
  DEFAULT_INCLUDE: Array[String]
  DEFAULT_EXCLUDE: Array[String]
  DEFAULT_OUT_DIR: String
  DEFAULT_INDEX: bool
  DEFAULT_TOC: String
  DEFAULT_CONVERTER_OPTIONS: Hash[untyped, untyped]
  DEFAULT_FRONT_MATTER: bool
  DEFAULT_STRICT: bool
  DEFAULT_ALLOW_ERB: bool

  attr_accessor include: Array[String]
  attr_accessor exclude: Array[String]
  attr_accessor out_dir: String
  attr_accessor index: bool
  attr_accessor toc: String
  attr_accessor converter_options: Hash[untyped, untyped]
  attr_accessor front_matter: bool
  attr_accessor strict: bool
  attr_accessor allow_erb: bool

  def initialize: (?Hash[untyped, untyped] overrides) -> void
  def apply: (Hash[untyped, untyped]) -> Config
end

module Cli
  def self.parse: (Array[String] argv) -> Hash[untyped, untyped]
end

module Plugin
  def self.activated?: () -> bool
  def self.activate: (?Array[String] argv) -> void
end

module Discovery
  def self.find_files: (Array[String] include_globs, Array[String] exclude_globs) -> Array[String]
  def self.collect: (?Yard::Yaml::Config config) -> Array[Hash[untyped, untyped]]
end

class Converter
  def self.from_string: (String yaml, ?Hash[untyped, untyped] options, ?config: Yard::Yaml::Config) -> Hash[untyped, untyped]
  def self.from_file: (String path, ?Hash[untyped, untyped] options, ?config: Yard::Yaml::Config) -> Hash[untyped, untyped]
end

class Emitter
  def self.emit!: (pages: Array[Hash[untyped, untyped]], output_dir: String, ?config: Yard::Yaml::Config) -> Array[String]
  def self.slug_for: (Hash[untyped, untyped] page) -> String
end

module TemplateHelpers
  def self.render_yaml_block: (String text, ?config: Yard::Yaml::Config) -> String
  def self.render_yaml_file: (String path, ?base_dir: String, ?config: Yard::Yaml::Config) -> String
end

module TagRenderer
  def self.render_for: (untyped object, ?base_dir: String, ?config: Yard::Yaml::Config) -> String
end

module Tags
  def self.register!: () -> void
end

class Error < ::StandardError
end   end end