import type { Response } from "express";
import type { SubstrateEvent } from "../../events/types.js";
import type { SubscriptionRecord } from "./subscription_types.js";
type RingEntry = {
    id: string;
    event: SubstrateEvent;
};
export declare function pushSubstrateEventToRing(event: SubstrateEvent): string;
export interface SseClient {
    userId: string;
    subscription: SubscriptionRecord;
    res: Response;
    lastEventId: string | undefined;
}
export declare function registerSseClient(client: SseClient): () => void;
export declare function broadcastSubstrateEventToSse(event: SubstrateEvent, eventRingId: string): void;
export declare function replayRingAfterLastId(lastEventId: string | undefined, filter: (ev: SubstrateEvent) => boolean): void;
export declare function getRingEntriesAfter(lastEventId: string | undefined, filter: (ev: SubstrateEvent) => boolean): RingEntry[];
export {};
//# sourceMappingURL=sse_hub.d.ts.map