import type { PageReviewCapturePlan, PageReviewContextAllocation } from "./page-review-contracts.js"; /** Publish a complete context atomically; failed writes stay outside discoverable contexts. */ export declare function writeCaptureTransaction(packDir: string, contextId: string, write: (stage: string) => T): T; /** A preliminary allocation reserves pixels; it never supplies current source evidence. */ export declare function allocateCaptureReservation(reservation: PageReviewContextAllocation, current: PageReviewCapturePlan): PageReviewContextAllocation; export declare class CaptureSourceChanged extends Error { constructor(message?: string); } /** Gate-hit annotations may change, but source and every native rectangle must stay fixed. */ export declare function assertGatePlanStable(before: PageReviewCapturePlan, after: PageReviewCapturePlan): void; /** One retry recollects every gate and allocation; no previous green result survives. */ export declare function runCaptureTransaction(collectAndAllocate: (attempt: number) => Promise, capture: () => Promise, recordFailure: (attempt: number, error: unknown) => void): Promise; //# sourceMappingURL=review-capture-transaction.d.ts.map