/** * Lazy-loading wrapper for CaaSEventStream to prevent browser import errors. * * This module provides a browser-safe way to import CaaSEventStream. * The actual CaaSEventStream (which depends on better-sse) is only loaded * when getEventStreamHandler() is called, which should only happen on the server. * * Usage: * ```typescript * import { CaaSEventStream } from 'fsxa-api' * * // On server (Node.js): * const handler = CaaSEventStream.getEventStreamHandler(api) * * // In browser: CaaSEventStream exists but won't load better-sse unless called * ``` */ import type { FSXARemoteApi } from './FSXARemoteApi'; import type { Request, Response } from 'express'; /** * Lazy-loaded CaaSEventStream namespace. * Prevents better-sse from being bundled in browser builds while maintaining API compatibility. */ export declare const CaaSEventStream: { /** * Get the event stream handler for server-side usage. * This function dynamically imports CaaSEventStream only when called (server-side). * * @throws Error if called in a browser environment (better-sse not available) */ getEventStreamHandler: (api: FSXARemoteApi) => Promise<(req: Request, res: Response) => Promise>; /** * Direct handler function for Express routes. * Returns an Express middleware that handles SSE connections. */ handler: (api: FSXARemoteApi) => Promise<(req: Request, res: Response) => Promise>; }; export type { FSXARemoteApi };