import type { ChangeSummary, ChangeSummaryEntry } from '@pantheon-systems/css-client'; import type { PropValue } from './prop-value.js'; export declare function entryKey(entry: ChangeSummaryEntry): string; /** A local dismissal covers one source comparison, so later changes remain visible. */ export declare function dismissalKey(summary: ChangeSummary, entry: ChangeSummaryEntry): string; export interface Replacement { /** Recovery can address an enclosing array or a parent created by the write. */ pointer: string; sourceDocumentId: string; sourceVersionId: string; sourceValue: unknown; before: PropValue; inserted: PropValue; } export type ReplacementState = 'original' | 'replaced' | 'edited'; export declare function replacementState(replacement: Replacement | undefined, current: PropValue): ReplacementState; /** Owned by the document control, whose lifetime spans drawer opens and closes. */ export declare function useReviewSession(): { replacements: ReadonlyMap; remember: (key: string, replacement: Replacement) => void; }; export type ReviewSession = ReturnType;