import type { ReviewItem } from "../review-resource.js"; import { type ReviewQueueSessionState } from "./review-queue-session.js"; export interface RandomAuditSampleOptions { /** Inclusion probability for each item, greater than 0 and at most 1. */ readonly rate: number; /** Any non-empty string. The same seed and items always draw the same sample. */ readonly seed: string; } /** * Draws a seeded random audit sample from `items`, for example the items an * auto-accept threshold would have accepted without review. * * Each item is included on its own when a SHA-256 of `(seed, item name)`, * read as a number in [0, 1), is below `rate`. The draw is deterministic, does * not depend on the order of `items`, and an item's inclusion does not change * when other items are added or removed. Items keep their input order. Item * names must be unique. */ export declare function drawRandomAuditSample(items: readonly ReviewItem[], options: RandomAuditSampleOptions): ReviewItem[]; /** * Draws a random audit sample (see {@link drawRandomAuditSample}) and opens it * as a score-blind review session: the session hides every confidence and * verifier result, and each decision made in it records * `presentation: { scoreBlind: true }` and * `sampling: { kind: "random-audit", rate, seed }`. * * Throws when the draw selects no item, since a session needs one. */ export declare function openRandomAuditSession(items: readonly ReviewItem[], options: RandomAuditSampleOptions & { readonly reviewedAt?: string; readonly actorId?: string; }): ReviewQueueSessionState;