import { JournifyEvent } from "../domain/event"; import { WithId } from "../lib/priorityQueue"; export interface Context extends WithId { getEvent(): JournifyEvent; isSame(other: Context): boolean; setFailedDelivery(failedDelivery: ContextFailedDelivery): void; getFailedDelivery(): ContextFailedDelivery | null; } export interface ContextFactory { newContext(event: JournifyEvent, id?: string): Context; } export declare class ContextFactoryImpl implements ContextFactory { newContext(event: JournifyEvent, id?: string): Context; } export interface ContextFailedDelivery { reason: unknown; }