# 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.PSMMode do
  @moduledoc "Page Segmentation Mode for Tesseract OCR"

  @typedoc "Page Segmentation Mode for Tesseract OCR"
  @type t ::
          :osd_only
          | :auto_osd
          | :auto_only
          | :auto
          | :single_column
          | :single_block_vertical
          | :single_block
          | :single_line
          | :single_word
          | :circle_word
          | :single_char

  @osd_only :osd_only
  @auto_osd :auto_osd
  @auto_only :auto_only
  @auto :auto
  @single_column :single_column
  @single_block_vertical :single_block_vertical
  @single_block :single_block
  @single_line :single_line
  @single_word :single_word
  @circle_word :circle_word
  @single_char :single_char

  @spec osd_only() :: t()
  def osd_only, do: @osd_only
  @spec auto_osd() :: t()
  def auto_osd, do: @auto_osd
  @spec auto_only() :: t()
  def auto_only, do: @auto_only
  @spec auto() :: t()
  def auto, do: @auto
  @spec single_column() :: t()
  def single_column, do: @single_column
  @spec single_block_vertical() :: t()
  def single_block_vertical, do: @single_block_vertical
  @spec single_block() :: t()
  def single_block, do: @single_block
  @spec single_line() :: t()
  def single_line, do: @single_line
  @spec single_word() :: t()
  def single_word, do: @single_word
  @spec circle_word() :: t()
  def circle_word, do: @circle_word
  @spec single_char() :: t()
  def single_char, do: @single_char
end
