# 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.RevisionAnchor do
  @moduledoc "Best-effort document location for a revision."

  @typedoc "Best-effort document location for a revision."
  @type t :: term()

  @typedoc "Body paragraph, identified by its zero-based index in the document flow."
  @type paragraph :: %{type: :paragraph, index: non_neg_integer()}
  @typedoc "Cell inside a table."
  @type table_cell :: %{type: :table_cell, row: non_neg_integer(), col: non_neg_integer(), table_index: non_neg_integer()}
  @typedoc "Page, identified by its zero-based index."
  @type page :: %{type: :page, index: non_neg_integer()}
  @typedoc "Presentation slide, identified by its zero-based index."
  @type slide :: %{type: :slide, index: non_neg_integer()}
  @typedoc "Spreadsheet cell or range, identified by sheet index and optional name."
  @type sheet :: %{type: :sheet, index: non_neg_integer(), name: String.t()}
end
