import { Effect, Exit } from 'effect'; import type { OutboxFlow } from '../../flow/sync-flow/index.js'; import { type OutboxEntry, type PendingEntry, type Request } from '../entries/index.js'; export declare const narrateOutbox: (flow: OutboxFlow | null) => { enqueue: (batch: ReadonlyArray, effect: Effect.Effect) => Effect.Effect; queue: (args: { entryIds: ReadonlyArray; replayed: boolean; }, enqueue: Effect.Effect, effect: Effect.Effect) => Effect.Effect; }; export type RequestOutcome = 'delivered' | 'failed' | 'unreachable' | 'interrupted'; export declare const requestOutcome: (exit: Exit.Exit) => RequestOutcome; export declare const narrateRequest: (flow: OutboxFlow | null, args: { queue: string; group: ReadonlyArray; request: Request | null; }, send: Effect.Effect) => Effect.Effect, never, R>; //# sourceMappingURL=narration.d.ts.map