# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:4e15143f4af1ae8bafbdb1506ef057da924484c66a19483966333558ad437e75
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
# Issues & docs: https://github.com/kreuzberg-dev/alef
defmodule Kreuzberg.BlockType do
  @moduledoc "Types of block-level elements in Djot."

  @typedoc "Types of block-level elements in Djot."
  @type t ::
          :paragraph
          | :heading
          | :blockquote
          | :code_block
          | :list_item
          | :ordered_list
          | :bullet_list
          | :task_list
          | :definition_list
          | :definition_term
          | :definition_description
          | :div
          | :section
          | :thematic_break
          | :raw_block
          | :math_display

  @paragraph :paragraph
  @heading :heading
  @blockquote :blockquote
  @code_block :code_block
  @list_item :list_item
  @ordered_list :ordered_list
  @bullet_list :bullet_list
  @task_list :task_list
  @definition_list :definition_list
  @definition_term :definition_term
  @definition_description :definition_description
  @div :div
  @section :section
  @thematic_break :thematic_break
  @raw_block :raw_block
  @math_display :math_display

  @spec paragraph() :: t()
  def paragraph, do: @paragraph
  @spec heading() :: t()
  def heading, do: @heading
  @spec blockquote() :: t()
  def blockquote, do: @blockquote
  @spec code_block() :: t()
  def code_block, do: @code_block
  @spec list_item() :: t()
  def list_item, do: @list_item
  @spec ordered_list() :: t()
  def ordered_list, do: @ordered_list
  @spec bullet_list() :: t()
  def bullet_list, do: @bullet_list
  @spec task_list() :: t()
  def task_list, do: @task_list
  @spec definition_list() :: t()
  def definition_list, do: @definition_list
  @spec definition_term() :: t()
  def definition_term, do: @definition_term
  @spec definition_description() :: t()
  def definition_description, do: @definition_description
  @spec div() :: t()
  def div, do: @div
  @spec section() :: t()
  def section, do: @section
  @spec thematic_break() :: t()
  def thematic_break, do: @thematic_break
  @spec raw_block() :: t()
  def raw_block, do: @raw_block
  @spec math_display() :: t()
  def math_display, do: @math_display
end
