import { ITemplateProcessor } from '../processor/types'; import { RepeatResult } from './repeat'; /** * Manages keyed list reconciliation for a NodeBinding. * Uses an LIS-based algorithm to compute the minimal set of DOM * moves required to reorder existing items, while reusing * TemplateInstance objects and only creating/removing as needed. */ export declare class KeyedListState { private startMarker; private endMarker; private processor; private items; private keyMap; constructor(startMarker: Comment, endMarker: Comment, processor: ITemplateProcessor); /** * Reconcile the DOM to reflect a new RepeatResult. * * 1. Compute new keys & detect removals. * 2. Reuse or create TemplateInstances per key. * 3. Use LIS on the old→new position mapping to find items * that can stay in place (the longest already-ordered run). * 4. Move only the items not in the LIS. */ update(result: RepeatResult, context?: unknown): Promise; private removeItem; clear(): void; disconnect(): void; } //# sourceMappingURL=keyed-diff.d.ts.map