import { type WebSocketAudience as WebSocketAudienceSpec } from "./ws-audience"; import { WebSocketAudienceResolver } from "./ws-audience-resolver"; import { type WebSocketClusterBus } from "./ws-cluster-bus"; import { type ManagedWebSocketConnection, type WebSocketRegistryStats, type WebSocketRoomId, type WebSocketUserId } from "./ws-core"; import { WebSocketDeliveryEngine } from "./ws-delivery"; import { WebSocketLocalConnectionStore } from "./ws-local-connection-store"; import { type WebSocketPresenceStore, type WebSocketSessionPresence } from "./ws-presence-store"; import { type WebSocketTelemetryController } from "./ws-telemetry"; export type { ManagedWebSocketConnection, WebSocketRegistryStats, WebSocketRoomId, WebSocketUserId, }; export type WebSocketConnectionMeta = WebSocketSessionPresence; export type WebSocketRegistryOptions = { nodeId: string; presenceStore?: WebSocketPresenceStore; clusterBus?: WebSocketClusterBus; telemetryController?: WebSocketTelemetryController; }; export declare class WebSocketRegistry { readonly nodeId: string; readonly localConnections: WebSocketLocalConnectionStore; readonly presenceStore: WebSocketPresenceStore; readonly clusterBus: WebSocketClusterBus; readonly audienceResolver: WebSocketAudienceResolver; readonly deliveryEngine: WebSocketDeliveryEngine; readonly telemetryController: WebSocketTelemetryController; constructor(options: WebSocketRegistryOptions); register(connection: ManagedWebSocketConnection, active?: boolean): WebSocketConnectionMeta; activate(connectionId: string): void; unregister(connectionId: string): void; touch(connectionId: string): void; setUserId(connectionId: string, userId: WebSocketUserId): void; clearUserId(connectionId: string): void; join(connectionId: string, roomId: WebSocketRoomId): void; leave(connectionId: string, roomId: WebSocketRoomId): void; private emitMutationSkipped; broadcast(event: string, data: unknown, namespace?: string): void; publishToRoom(roomId: WebSocketRoomId, event: string, data: unknown, namespace?: string): void; publishToUser(userId: WebSocketUserId, event: string, data: unknown, namespace?: string): void; publishToAudience(audience: WebSocketAudienceSpec, event: string, data: unknown): void; getConnection(connectionId: string): WebSocketConnectionMeta | undefined; getConnectionCount(namespace?: string): number; getRoomMembers(roomId: WebSocketRoomId, namespace?: string): WebSocketConnectionMeta[]; getStats(): WebSocketRegistryStats; closeAll(code?: number, reason?: string): void; shutdown(code?: number, reason?: string): Promise; } //# sourceMappingURL=ws-registry.d.ts.map