import { type ServerRealtimeMessage } from '@xopcai/realtime-protocol'; export type RealtimeEvent = Extract; export type RealtimeGap = Extract; export type RealtimeDelivery = RealtimeEvent | RealtimeGap; export interface RealtimeTopicPolicy { replayCapacity: number; } export type RealtimeTopicPolicyResolver = (topic: string) => RealtimeTopicPolicy; export interface RealtimeSubscriptionHandle { initial: RealtimeDelivery[]; cursor: number; unsubscribe: () => void; } export declare function defaultRealtimeTopicPolicy(topic: string): RealtimeTopicPolicy; export declare class RealtimeBroker { private readonly resolvePolicy; private readonly onListenerError; private readonly topics; constructor(resolvePolicy?: RealtimeTopicPolicyResolver, onListenerError?: (error: unknown, topic: string) => void); publish(topic: string, event: string, data: unknown, now?: number): RealtimeEvent; subscribe(topic: string, afterSeq: number | undefined, listener: (event: RealtimeEvent) => void): RealtimeSubscriptionHandle; removeTopic(topic: string): void; currentSequence(topic: string): number; hasTopic(topic: string): boolean; private replayFrom; private ensureTopic; }