# 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.UriKind do
  @moduledoc "Semantic classification of an extracted URI."

  @typedoc "Semantic classification of an extracted URI."
  @type t :: :hyperlink | :image | :anchor | :citation | :reference | :email

  @hyperlink :hyperlink
  @image :image
  @anchor :anchor
  @citation :citation
  @reference :reference
  @email :email

  @doc "A clickable hyperlink (web URL, file link)."
  @spec hyperlink() :: t()
  def hyperlink, do: @hyperlink
  @doc "An image or media resource reference."
  @spec image() :: t()
  def image, do: @image
  @doc "An internal anchor or cross-reference target."
  @spec anchor() :: t()
  def anchor, do: @anchor
  @doc "A citation or bibliographic reference (DOI, academic ref)."
  @spec citation() :: t()
  def citation, do: @citation
  @doc "A general reference (e.g. `\\ref{}` in LaTeX, `:ref:` in RST)."
  @spec reference() :: t()
  def reference, do: @reference
  @doc "An email address (`mailto:` link or bare email)."
  @spec email() :: t()
  def email, do: @email
end
