import type { IncomingMessage, Server } from 'node:http'; import type { Duplex } from 'node:stream'; import type { DeviceNotificationTicketStore } from '../api/handlers/DeviceNotificationTicketHandler'; import { DeviceNotificationHub } from '../notifications/DeviceNotificationHub'; export interface DeviceNotificationWebSocketServerOptions { hub: DeviceNotificationHub; ticketStore: DeviceNotificationTicketStore; path?: string; heartbeatIntervalMs?: number; } export declare class DeviceNotificationWebSocketServer { private readonly hub; private readonly ticketStore; private readonly path; private readonly heartbeatIntervalMs; private readonly wss; private readonly sockets; private readonly socketConnections; private readonly alive; private heartbeatTimer?; constructor(options: DeviceNotificationWebSocketServerOptions); attach(server: Server): void; handleUpgrade(request: IncomingMessage, socket: Duplex, head: Buffer): void; stop(): void; private handleFrame; private reject; private startHeartbeat; private cleanupSocket; }