import type { ConnectionManager } from './connection-manager.js'; import type { WSComponentDependencies, EventHandlerOptions, MessageFilter } from './types.js'; export declare class EventHandler { private logger; private subscriptions; private connectionSubscriptions; private options; constructor({ logger }: WSComponentDependencies, options?: EventHandlerOptions); subscribe(connectionId: string, topic: string, filters?: Record): Promise; unsubscribe(connectionId: string, topic: string): boolean; removeAllSubscriptions(connectionId: string): void; broadcastToTopic(topic: string, data: unknown, connectionManager: ConnectionManager, filter?: MessageFilter): Promise; broadcastToUser(userId: string, topic: string, data: unknown, connectionManager: ConnectionManager): Promise; broadcastToSession(sessionId: string, topic: string, data: unknown, connectionManager: ConnectionManager): Promise; getConnectionSubscriptions(connectionId: string): string[]; getTopicSubscribers(topic: string): string[]; getSubscriptionStats(): { totalTopics: number; totalSubscriptions: number; connectionsWithSubscriptions: number; topicsBySubscriberCount: Array<{ topic: string; subscriberCount: number; }>; }; private createFilterFunction; cleanup(): void; } //# sourceMappingURL=event-handler.d.ts.map