import { ModelId } from '../core/types'; import { OpShape } from '../command/op'; import { PDiagram, PDiagramV2 } from './persisted'; declare const DERIVED_ATTRIBUTE_FIELDS: readonly ["notNull"]; export interface HealBackfillPlan { /** backfill op 배치 (비면 정렬 대상 없음 — 문서 skip). */ ops: OpShape[]; /** raw doc의 컨테이너 rev 스냅샷 — `buildAgentBatch(diagramId, revs, ops)` CAS base. */ revs: Record; /** dry-run 리포트용 집계. */ summary: { navAdds: number; navRefPatches: number; identifyingPatches: number; /** 파생 스칼라 필드 정렬 건수(`DERIVED_ATTRIBUTE_FIELDS`) — 필드별 분해. */ attributeFieldPatches: number; attributeFieldsByName: Partial>; }; } /** * v2 doc 하나에 대한 파생값 backfill 계획을 산출한다. * * v1 doc은 빈 계획 — 스윕 라우트가 v2 컬렉션 대상이고, v1은 마이그레이션을 거쳐 v2가 된 뒤 * 대상이 된다. 마이그레이션 산출은 hydration이 이미 현재 규칙으로 파생하므로(nav 실체화· * identifying·notNull) 새로 마이그레이션된 문서는 정렬된 상태로 태어난다. */ export declare function planHealBackfillOps(doc: PDiagram | PDiagramV2): HealBackfillPlan; export {};