/** * Row-anchor assignment for the Google Sheets API sync provider. * * Ensures every nonblank row of one registered tab carries an anchor in the * tab's LAST system column (a `sync-anchor:` cell value), writing all * planned anchors in ONE atomic batchUpdate. Rows with more than one anchor * fail closed; duplicate anchors across rows are reported as evidence. A * user_input tab without the system column fails closed (legacy format); a * user-edited system cell is simply reassigned a fresh anchor. No re-read is * performed. */ import type { EnsureSyncRowAnchorsRequest, EnsureSyncRowAnchorsResult } from "../../../../contracts/sheets/syncSheets.js"; import { type AnchorPlanResult, type ObservedTab } from "../model/observation.js"; import { type GoogleSheetsApiProviderDeps } from "./shared.js"; /** * Ensures every nonblank row of one registered tab carries a system-column * anchor, writing all planned anchors in ONE atomic batchUpdate. Rows with * more than one anchor fail closed; duplicate anchors across rows are * reported as evidence. No re-read is performed. */ export declare function ensureRowAnchors(deps: GoogleSheetsApiProviderDeps, request: EnsureSyncRowAnchorsRequest): Promise; /** Writes every planned anchor of one tab in one atomic batch. */ export declare function writeAnchors(deps: GoogleSheetsApiProviderDeps, tab: ObservedTab, plan: AnchorPlanResult, anchorColumn: number | undefined): Promise; //# sourceMappingURL=anchors.d.ts.map