# 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.PdfAnnotationType do
  @moduledoc "Type of PDF annotation."

  @typedoc "Type of PDF annotation."
  @type t :: :text | :highlight | :link | :stamp | :underline | :strike_out | :other

  @text :text
  @highlight :highlight
  @link :link
  @stamp :stamp
  @underline :underline
  @strike_out :strike_out
  @other :other

  @doc "Sticky note / text annotation"
  @spec text() :: t()
  def text, do: @text
  @doc "Highlighted text region"
  @spec highlight() :: t()
  def highlight, do: @highlight
  @doc "Hyperlink annotation"
  @spec link() :: t()
  def link, do: @link
  @doc "Rubber stamp annotation"
  @spec stamp() :: t()
  def stamp, do: @stamp
  @doc "Underline text markup"
  @spec underline() :: t()
  def underline, do: @underline
  @doc "Strikeout text markup"
  @spec strike_out() :: t()
  def strike_out, do: @strike_out
  @doc "Any other annotation type"
  @spec other() :: t()
  def other, do: @other
end
