# 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.OcrElementLevel do
  @moduledoc """
  Hierarchical level of an OCR element.

  Maps to Tesseract's page segmentation hierarchy and provides
  equivalent semantics for PaddleOCR.
  """

  @typedoc "Hierarchical level of an OCR element."
  @type t :: :word | :line | :block | :page

  @word :word
  @line :line
  @block :block
  @page :page

  @doc "Individual word"
  @spec word() :: t()
  def word, do: @word
  @doc "Line of text (default for PaddleOCR)"
  @spec line() :: t()
  def line, do: @line
  @doc "Paragraph or text block"
  @spec block() :: t()
  def block, do: @block
  @doc "Page-level element"
  @spec page() :: t()
  def page, do: @page
end
