import type { ChartAnchor } from "./api-schema/index.js"; export declare function colLetter(col1: number): string; export declare function cellA1(row1: number, col1: number): string; export declare function rangeA1(row1: number, col1: number, rowCount: number, colCount: number): string; export interface AnchorA1 { fromColumn: number; fromRow: number; toColumn: number; toRow: number; } export declare function anchorA1(range: string): AnchorA1; export interface AbsoluteAnchorOptions { /** Uniform column width in px (default 64, Excel's default at 100% zoom). */ colWidthPx?: number; /** Uniform row height in px (default 20). */ rowHeightPx?: number; } /** * Convert an absolute pixel rect (sheet content space, A1's top-left = 0,0) into a * two-cell {@link ChartAnchor} with EMU offsets — the px → (col, row, offsetEMU) * derivation everyone otherwise hand-rolls against the default 64×20 px grid. * * Assumes a **uniform** grid: every column is `colWidthPx` wide and every row is * `rowHeightPx` tall (pass overrides for sheets with non-default but uniform * sizing). Offsets are always strictly inside their cell, so the result never * trips the engine's "offset exceeds the referenced cell" warning. For sheets * with per-column/row sizes, derive the anchor from the real layout instead. */ export declare function absoluteAnchor(x: number, y: number, w: number, h: number, options?: AbsoluteAnchorOptions): ChartAnchor; export type CellAddress = string | { row: number; column: number; }; export type RangeAddress = string | { row: number; column: number; rowCount?: number; columnCount?: number; }; export declare function resolveCell(addr: CellAddress): string; export declare function resolveRange(addr: RangeAddress): string; export interface SheetRef { current: string; }