# 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.ImagePreprocessingMetadata do
  @moduledoc """
  Image preprocessing metadata.

  Tracks the transformations applied to an image during OCR preprocessing,
  including DPI normalization, resizing, and resampling.
  """

  @typedoc "Image preprocessing metadata."
  @type t :: %__MODULE__{
          original_dimensions: [non_neg_integer()],
          original_dpi: [float()],
          target_dpi: integer(),
          scale_factor: float(),
          auto_adjusted: boolean(),
          final_dpi: integer(),
          new_dimensions: [non_neg_integer()] | nil,
          resample_method: String.t() | nil,
          dimension_clamped: boolean(),
          calculated_dpi: integer() | nil,
          skipped_resize: boolean(),
          resize_error: String.t() | nil
        }

  defstruct original_dimensions: [],
            original_dpi: [],
            target_dpi: 0,
            scale_factor: 0.0,
            auto_adjusted: false,
            final_dpi: 0,
            new_dimensions: nil,
            resample_method: nil,
            dimension_clamped: false,
            calculated_dpi: nil,
            skipped_resize: false,
            resize_error: nil
end
