import type { EntitySchema } from '@mostajs/orm'; import type { ITransport, TransportConfig, TransportInfo, TransportMiddleware } from '../core/types.js'; import type { ServerResponse } from 'http'; /** * SSETransport streams entity change events to clients via Server-Sent Events. * * Clients connect to GET /events (or configured path) and receive: * event: entity.created * data: {"entity":"User","data":{...}} * * event: entity.updated * data: {"entity":"User","id":"123","data":{...}} * * event: entity.deleted * data: {"entity":"User","id":"123"} */ export declare class SSETransport implements ITransport { readonly name = "sse"; private config; private schemas; private middlewares; private clients; private stats; use(middleware: TransportMiddleware): void; registerEntity(schema: EntitySchema): void; start(config: TransportConfig): Promise; stop(): Promise; getInfo(): TransportInfo; /** Get the SSE path for Fastify route registration */ getPath(): string; /** Get connected client count */ getClientCount(): number; /** * Handle a new SSE client connection. * Called by the server when a GET request arrives at the SSE path. */ addClient(res: ServerResponse): void; /** * Broadcast an event to all connected SSE clients. * Called by the server when EntityService emits change events. */ broadcast(eventName: string, data: Record): void; } /** Factory function */ export declare function createTransport(): ITransport;