# 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.ExtractedImage do
  @moduledoc """
  Extracted image from a document.

  Contains raw image data, metadata, and optional nested OCR results.
  Raw bytes allow cross-language compatibility - users can convert to
  PIL.Image (Python), Sharp (Node.js), or other formats as needed.
  """

  @typedoc "Extracted image from a document."
  @type t :: %__MODULE__{
          data: binary(),
          format: String.t() | nil,
          image_index: non_neg_integer(),
          page_number: non_neg_integer() | nil,
          width: non_neg_integer() | nil,
          height: non_neg_integer() | nil,
          colorspace: String.t() | nil,
          bits_per_component: non_neg_integer() | nil,
          is_mask: boolean(),
          description: String.t() | nil,
          ocr_result: map() | nil,
          bounding_box: map() | nil,
          source_path: String.t() | nil,
          image_kind: String.t() | nil | nil,
          kind_confidence: float() | nil,
          cluster_id: non_neg_integer() | nil
        }

  defstruct data: <<>>,
            format: nil,
            image_index: 0,
            page_number: nil,
            width: nil,
            height: nil,
            colorspace: nil,
            bits_per_component: nil,
            is_mask: false,
            description: nil,
            ocr_result: nil,
            bounding_box: nil,
            source_path: nil,
            image_kind: nil,
            kind_confidence: nil,
            cluster_id: nil
end
