import { OnGatewayConnection, OnGatewayDisconnect } from '@nestjs/websockets'; import { Server, Socket } from 'socket.io'; import { Notification } from '../entities'; interface AuthenticatedSocket extends Socket { userId?: string; tenantId?: string; } export declare class NotificationsGateway implements OnGatewayConnection, OnGatewayDisconnect { server: Server; private readonly logger; private userSockets; private socketUsers; handleConnection(client: AuthenticatedSocket): void; handleDisconnect(client: AuthenticatedSocket): void; emitToUser(tenantId: string, userId: string, notification: Partial): Promise; emitToTenant(tenantId: string, event: string, data: any): Promise; handleMarkAsRead(client: AuthenticatedSocket, payload: { notificationId: string; }): void; handleMarkAllAsRead(client: AuthenticatedSocket): void; handleGetUnreadCount(client: AuthenticatedSocket): { event: string; }; emitUnreadCount(tenantId: string, userId: string, count: number): Promise; emitNotificationDeleted(tenantId: string, userId: string, notificationId: string): Promise; getConnectedUsersCount(): number; getTotalConnections(): number; isUserOnline(tenantId: string, userId: string): boolean; private extractUserId; private extractTenantId; } export {};