# 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.RelationshipKind do
  @moduledoc "Semantic kind of a relationship between document elements."

  @typedoc "Semantic kind of a relationship between document elements."
  @type t ::
          :footnote_reference
          | :citation_reference
          | :internal_link
          | :caption
          | :label
          | :toc_entry
          | :cross_reference

  @footnote_reference :footnote_reference
  @citation_reference :citation_reference
  @internal_link :internal_link
  @caption :caption
  @label :label
  @toc_entry :toc_entry
  @cross_reference :cross_reference

  @doc "Footnote marker -> footnote definition."
  @spec footnote_reference() :: t()
  def footnote_reference, do: @footnote_reference
  @doc "Citation marker -> bibliography entry."
  @spec citation_reference() :: t()
  def citation_reference, do: @citation_reference
  @doc "Internal anchor link (`#id`) -> target heading/element."
  @spec internal_link() :: t()
  def internal_link, do: @internal_link
  @doc "Caption paragraph -> figure/table it describes."
  @spec caption() :: t()
  def caption, do: @caption
  @doc "Label -> labeled element (HTML `<label for>`, LaTeX `\\label{}`)."
  @spec label() :: t()
  def label, do: @label
  @doc "TOC entry -> target section."
  @spec toc_entry() :: t()
  def toc_entry, do: @toc_entry
  @doc "Cross-reference (LaTeX `\\ref{}`, DOCX cross-reference field)."
  @spec cross_reference() :: t()
  def cross_reference, do: @cross_reference
end
