/** * Upstream Review * * One reading of what a derived page has yet to take from the page it derives * from, shared by whatever offers the list and by the drawer that shows it. * Both work from the same summary, so a change settled in the drawer leaves the * count that led to it. */ import type { ChangeSummary, ChangeSummaryEntry, P1Client } from '@pantheon-systems/css-client'; import { type ReviewSession } from './review-session.js'; import { type UpstreamDiff, type UpstreamRelationType } from './upstream-diff-query.js'; export interface UpstreamReview { diff: UpstreamDiff; relationType: UpstreamRelationType; /** Changes this page can take. Structural ones are reported rather than applied. */ outstanding: number; /** The source's only changes were to add, move or remove blocks. */ structuralOnly: boolean; /** Changes settled locally, which no edge records. */ dismissed: ReadonlySet; session: ReviewSession; isPending: (entry: ChangeSummaryEntry) => boolean; /** Record this change as settled, on its edge where there is one. */ resolve: (entry: ChangeSummaryEntry, summary: ChangeSummary) => void; } export declare function useUpstreamReview(client: P1Client, siteId: string, branchId: string, documentId: string, relationType: UpstreamRelationType): UpstreamReview;