/**
* @module @ddes/event-streaming
*/
///
import { Commit, EventWithMetadata, StorePoller, StorePollerParams } from '@ddes/core';
import debug from 'debug';
import { IncomingMessage } from 'http';
import { Server as WebSocketServer } from 'ws';
export default class EventStreamer {
wss: WebSocketServer;
protected debug: debug.IDebugger;
protected chronologicalGroups: string[];
protected storePollers: StorePoller[];
constructor(params: StorePollerParams & {
chronologicalGroups?: string[];
port: number;
authenticateClient?: (info: {
origin: string;
req: IncomingMessage;
secure: boolean;
}) => boolean;
});
close(): void;
processCommit(commit: Commit): Promise;
publishEventToSubscribers(eventWithMetadata: EventWithMetadata): void;
protected onClientConnected(client: any): void;
protected onClientDisconnected(): void;
}