import { PublisherOptions, Publisher, PublisherSubscribeListenerOptions } from '../index.mjs'; import '@orpc/shared'; interface MemoryPublisherOptions extends PublisherOptions { /** * How long (in seconds) to retain events for replay. * * @remark * This allows new subscribers to "catch up" on missed events using `lastEventId`. * Note that event cleanup is deferred for performance reasons — meaning some * expired events may still be available for a short period of time, and listeners * might still receive them. * * @default NaN (disabled) */ resumeRetentionSeconds?: number; } declare class MemoryPublisher> extends Publisher { private readonly eventPublisher; private readonly idGenerator; private readonly retentionSeconds; private readonly eventsMap; /** * Useful for measuring memory usage. * * @internal * */ get size(): number; private get isResumeEnabled(); constructor({ resumeRetentionSeconds, ...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 };