export type IdPage = { ids: readonly string[]; nextPageToken?: string | null; }; /** Collect every page before mutation. A failed/incomplete read never returns a selection. */ export declare function collectIdPages(load: (pageToken: string | undefined, signal?: AbortSignal) => Promise, options?: { maxItems?: number; maxPages?: number; signal?: AbortSignal; }): Promise; export type IdBatchPlan = { readonly id: string; readonly selectionDigest: string; readonly count: number; readonly batches: readonly { readonly operationId: string; readonly ids: readonly string[]; }[]; }; /** Pure chunk plan. Each chunk is a separate durable operation and review, never a fresh query. */ export declare function planIdBatches(selection: readonly string[], maxBatchSize?: number): IdBatchPlan; export type IdBatchReceipt = { operationId: string; outcome: "acknowledged" | "failed_before_effect" | "unknown" | "waiting"; }; /** No per-item success is implied by a provider's batch acknowledgement. */ export declare function summarizeIdBatches(plan: IdBatchPlan, receipts: readonly IdBatchReceipt[]): { acknowledged: number; failed_before_effect: number; unknown: number; waiting: number; unstarted: number; selected: number; individualStateVerified: false; };