import { Node as ProseMirrorNode } from '@milkdown/kit/prose/model'; import { ReviewSuggestion, ReviewSuggestionResolveOutcome, ReviewSuggestionsResolveSummary } from '../../types'; import { ResolvedReviewSuggestionRange } from './types'; type ResolveSummaryCallback = (summary: ReviewSuggestionsResolveSummary) => void; /** * Resolves anchor-based suggestions to PM positions against `doc`. The * conversion is one-shot: callers should map returned ranges forward across * future edits instead of re-resolving against later docs (otherwise drift * compounds and decorations slide off their live text). * * Anchor fields are normalized via `normalizeAnchors` before * `locateAnchor` runs on the flattened document string. * * `onOutcome` is invoked exactly once per input suggestion regardless of * whether it resolves, so hosts can emit a counter keyed by outcome. */ export declare function resolveReviewSuggestionRanges(doc: ProseMirrorNode, reviewSuggestions: ReviewSuggestion[] | undefined, onOutcome?: (suggestionId: string, outcome: ReviewSuggestionResolveOutcome) => void, onSummary?: ResolveSummaryCallback): ResolvedReviewSuggestionRange[]; export {};