import { CanonicalChangeType, ChangeSubtype, SegmentSide } from './mark-metadata.js'; export function buildReviewGraph({ state, story, replacementsMode }: { state: import('prosemirror-state').EditorState | { doc?: import('prosemirror-model').Node; }; story?: import('./story-locator.js').StoryLocator; replacementsMode?: "paired" | "independent"; }): TrackedReviewGraph; export function getOrBuildReviewGraph({ editor, state, story, replacementsMode }: { editor: object; state?: import('prosemirror-state').EditorState | { doc?: import('prosemirror-model').Node; }; story?: import('./story-locator.js').StoryLocator; replacementsMode?: "paired" | "independent"; }): TrackedReviewGraph; export function invalidateReviewGraphCache(editor: object): void; export function validateGraph(graph: TrackedReviewGraph): Array; export function signatureOf(change: LogicalTrackedChange): string; export type TrackedMarkRun = { from: number; to: number; mark: import('prosemirror-model').Mark; }; export type TrackedSegment = { segmentId: string; changeId: string; markType: string; /** * 'inserted' | 'deleted' | 'formatting'. */ side: string; from: number; to: number; text: string; mark: import('prosemirror-model').Mark; markRuns: Array; attrs: import('./mark-metadata.js').NormalizedTrackedAttrs; parentId: string; parentSide: string; overlapRole: "parent" | "child" | "standalone"; /** * True for a whole-table structural segment (no inline mark). */ structural?: boolean | undefined; /** * True for a paragraph-property (w:pPrChange) segment (no inline mark). */ pprChange?: boolean | undefined; /** * optional diagnostics nodePath. */ nodePath?: number[] | undefined; }; export type LogicalReplacementProjection = { groupId: string; inserted: Array; deleted: Array; insertedSideId: string; deletedSideId: string; }; export type LogicalTrackedChange = { id: string; type: string; subtype: string; state: "open"; segments: Array; coverageSegments: Array; insertedSegments: Array; deletedSegments: Array; formattingSegments: Array; replacement: LogicalReplacementProjection | null; author: string; authorId: string; authorEmail: string; authorImage: string; date: string; sourceIds: Record; revisionGroupId: string; splitFromId: string; sourcePlatform: string; story: import('./story-locator.js').StoryLocator; parent: string | null; children: Array; before: Array; after: Array; excerpt: string; }; export type GraphDiagnostic = { code: string; severity: "info" | "warning" | "error"; message: string; changeIds?: string[] | undefined; details?: unknown; }; export type TrackedReviewGraph = { changes: Map; segments: Array; bySegmentId: Map; byRevisionGroupId: Map>; byReplacementGroupId: Map>; byParentId: Map>; story: import('./story-locator.js').StoryLocator; overlapAt: (pos: number) => Array; segmentsInRange: (from: number, to: number) => Array; changesInRange: (from: number, to: number) => Array; validate: () => Array; }; export { CanonicalChangeType, ChangeSubtype, SegmentSide }; //# sourceMappingURL=review-graph.d.ts.map