/** * Working-row lifecycle for the effect planner. * * Preflight rows are copied into mutable working rows the batch can mutate; * created rows start at the next append position and are keyed by their full * targetId. `planReceiptReplay` handles the receipt-replay branch (a receipt * already exists for this effect ID), `currentHash` computes the visible hash * restricted to the effect's fields, and `rejectionPlan` builds rejection * plans with no mutation and no receipt. */ import { type SyncProjectionEffect } from "../../../../contracts/sheets/syncSheets.js"; import type { NormalizedCell } from "../../../../contracts/encoding/index.js"; import type { PreflightContext, PreflightRow } from "./preflightTypes.js"; import type { EffectPlan, PlannedReceipt, WorkingRow } from "./plannerContracts.js"; /** Receipt replay branch: a receipt already exists for this effect ID. */ export declare function planReceiptReplay(effect: SyncProjectionEffect, receipt: PlannedReceipt, context: PreflightContext, byAnchor: ReadonlyMap, byIdentity: ReadonlyMap): EffectPlan; /** Computes the visible hash of a row restricted to the effect's fields. */ export declare function currentHash(row: WorkingRow | PreflightRow, fields: Readonly>): string; /** Finds a row by anchor first, then visible identity, then the targetId tail. */ export declare function findWorkingRow(byAnchor: ReadonlyMap, byIdentity: ReadonlyMap, anchor: string, targetId: string): WorkingRow | undefined; /** Converts one preflight row into a working row for planning/probing. */ export declare function toWorkingRow(row: PreflightRow): WorkingRow; export declare function createWorkingRow(effect: SyncProjectionEffect, rowNumber: number): WorkingRow; //# sourceMappingURL=plannerWorkingRow.d.ts.map