import type { CompletionReceiptJournalCursor, CompletionReceiptJournalPage, } from '../domain/completionReceiptJournal'; export const MAX_COMPLETION_RECEIPT_JOURNAL_BATCH_SIZE = 64; export interface RegisterCompletionReceiptCommand { attemptId: string; runId: string; registeredAtMs: number; } export interface QuarantineCompletionReceiptCommand { attemptId: string; quarantineRef: string; purgeAfterMs: number; updatedAtMs: number; } export interface CompletionReceiptJournal { register(command: RegisterCompletionReceiptCommand): Promise; markQuarantined(command: QuarantineCompletionReceiptCommand): Promise; resolve(attemptId: string): Promise; listCandidates(options: { observedAtMs: number; cursor?: CompletionReceiptJournalCursor; limit?: number; }): Promise; }