export interface MergeResult { /** The new canonical checkpoint (base + merged delta), ready to repackage. */ checkpoint: ArrayBuffer; /** How many distinct elements the merged delta touches. */ mergedRows: number; /** How many contributor deltas were folded in. */ contributors: number; /** L2 norm of the ACTUAL weight movement base→merged, (Σ(merged−base)²)^½. 0 when nothing moved. */ deltaNorm: number; } /** * Fold contributor weight-deltas (each a serialized RowDelta vs the SAME base) into * one merged checkpoint by FedAvg-over-contributors. * * @param baseCheckpoint the canonical checkpoint the deltas were diffed against * @param diffs serialized RowDelta buffers (from `diffCheckpoints`) * @param weights optional per-diff sample weights (default 1 each = plain mean); * a zero/negative weight excludes that contributor */ export declare function mergeCheckpointDiffs(baseCheckpoint: ArrayBuffer, diffs: ArrayBuffer[], weights?: number[]): MergeResult; //# sourceMappingURL=merge.d.ts.map