# 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.PageBoundary do
  @moduledoc """
  Byte offset boundary for a page.

  Tracks where a specific page's content starts and ends in the main content string,
  enabling mapping from byte positions to page numbers. Offsets are guaranteed to be
  at valid UTF-8 character boundaries when using standard String methods (push_str, push, etc.).
  """

  @typedoc "Byte offset boundary for a page."
  @type t :: %__MODULE__{
          byte_start: non_neg_integer(),
          byte_end: non_neg_integer(),
          page_number: non_neg_integer()
        }

  defstruct byte_start: 0,
            byte_end: 0,
            page_number: 0
end
