import { Publisher, PublisherOptions, PublisherSubscribeListenerOptions } from '../index.mjs'; import '@orpc/shared'; interface MemoryPublisherOptions extends PublisherOptions { /** * Configuration for event resume support. * * When enabled, published events are temporarily stored so new * subscribers can resume from a previous position using `lastEventId`. * * @default { enabled: false } */ resume?: { /** * Whether event resume support is enabled. * * When enabled, published events are temporarily stored so new * subscribers can resume from a previous position using `lastEventId`. * * @default false */ enabled: boolean; /** * How long (in seconds) to retain events for resume. * * Expired events are cleaned up lazily for performance reasons, so * some events may remain available slightly longer than this period. * * @default 300 (5 min) */ seconds?: number; }; } declare class MemoryPublisher> extends Publisher { private readonly listenersMap; private readonly idGenerator; private readonly eventsMap; private readonly resumeEnabled; private readonly resumeSeconds; constructor({ resume, ...options }?: MemoryPublisherOptions); publish(event: K, payload: T[K]): Promise; protected subscribeListener(event: K, listener: (payload: T[K]) => void, options?: PublisherSubscribeListenerOptions): Promise<() => Promise>; private lastCleanupTime; private cleanup; } export { MemoryPublisher }; export type { MemoryPublisherOptions };