# 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.AnnotationKind do
  @moduledoc "Types of inline text annotations."

  @typedoc "Types of inline text annotations."
  @type t :: term()

  @type bold :: :bold
  @type italic :: :italic
  @type underline :: :underline
  @type strikethrough :: :strikethrough
  @type code :: :code
  @type subscript :: :subscript
  @type superscript :: :superscript
  @type link :: %{type: :link, url: String.t(), title: String.t()}
  @typedoc "Highlighted text (PDF highlights, HTML `<mark>`)."
  @type highlight :: :highlight
  @typedoc "Text color (CSS-compatible value, e.g. \"#ff0000\", \"red\")."
  @type color :: %{type: :color, value: String.t()}
  @typedoc "Font size with units (e.g. \"12pt\", \"1.2em\", \"16px\")."
  @type font_size :: %{type: :font_size, value: String.t()}
  @typedoc "Extensible annotation for format-specific styling."
  @type custom :: %{type: :custom, name: String.t(), value: String.t()}
end
