import type { HarnessMessage, MessageReceipt } from './contract.js'; export interface InMemoryInboxRecord { cursor: string; message: HarnessMessage; receivedAt: string; acknowledgedAt?: string; } export interface InMemoryQuarantinedMessage { issuer: string; messageId: string; reason: 'content-digest-mismatch' | 'message-id-content-conflict'; quarantinedAt: string; } export declare function harnessMessageContentDigest(content: unknown): string; /** Collision-safe local map key; the unhashed material is byte-length framed. */ export declare function inMemoryInboxIdentityKey(issuer: string, messageId: string): string; /** * Unsigned, non-durable in-memory model of inbox semantics. * * It retains unacknowledged records, resumes by monotonic cursor, deduplicates * exact retries, and quarantines an issuer reusing a message ID with different * content. Process exit loses all state; this class is never an enforce-mode * transport or authority. Durable adapters may use it only as a conformance * reference. */ export declare class InMemoryInboxReference { private readonly now; readonly referenceOnly = true; private readonly records; private readonly byIdentity; private readonly quarantined; private nextCursor; constructor(now?: () => number); send(message: HarnessMessage): MessageReceipt; receive(audience: string, cursor?: string): AsyncIterable; acknowledge(audience: string, messageId: string, issuer?: string): void; pending(audience: string): InMemoryInboxRecord[]; quarantineRecords(): InMemoryQuarantinedMessage[]; private parseCursor; private quarantine; } //# sourceMappingURL=in-memory-inbox-reference.d.ts.map