import type { ApiServer } from '../ApiServer'; import { DeviceNotificationTicketHandler } from './DeviceNotificationTicketHandler'; import { DeviceNotificationWebSocketServer } from '../../http/DeviceNotificationWebSocketServer'; import { DeviceNotificationHub } from '../../notifications/DeviceNotificationHub'; import { DeviceNotificationResourceListener } from '../../notifications/DeviceNotificationResourceListener'; import { XPOD_NOTIFICATIONS_PROTOCOL } from '../../notifications/device-notification-protocol'; export interface DeviceNotificationRuntimeOptions { origin: string; ticketEndpoint?: string; webSocketEndpoint?: string; ticketTtlMs?: number; authorizeTopic?: ConstructorParameters[0]['authorizeTopic']; } export interface DeviceNotificationRuntimeHandle { hub: DeviceNotificationHub; ticketHandler: DeviceNotificationTicketHandler; webSocketServer: DeviceNotificationWebSocketServer; resourceListener: DeviceNotificationResourceListener; descriptor: { protocol: typeof XPOD_NOTIFICATIONS_PROTOCOL; ticketEndpoint: string; webSocketEndpoint: string; }; stop(): void; } export declare function registerDeviceNotificationRuntime(server: ApiServer, options: DeviceNotificationRuntimeOptions): DeviceNotificationRuntimeHandle;