import type { EventEnvelope, EventInput } from "./types.js"; export interface DurableEventSpoolOptions { dataDir: string; } export interface DurableSpoolEnqueueResult = Record> { event: EventEnvelope; stored: boolean; deduped: boolean; } export interface DurableSpoolRecoveryOptions { olderThanMs?: number; } export interface DurableSpoolRecoveryResult { recovered: number; deduped: number; cleaned: number; } export declare class DurableEventSpool { readonly dataDir: string; readonly inboxDir: string; constructor(options: DurableEventSpoolOptions); enqueue>(input: EventInput): Promise>; recover(options?: DurableSpoolRecoveryOptions): Promise; close(): Promise; private pathFor; private assertSameIdentity; private ensureInbox; private syncInbox; private syncDirectory; }