export interface EventsGenOutput { schemas: string; functions: string; } /** * Generates the server-side `events.gen.ts` scaffold. * * This file lives in the user's project and wires two transports against the * project's `eventHub` service: * * 1. WebSocket channel at `/events` — bidirectional. Clients send * `{action: 'subscribe' | 'unsubscribe', topic}` over the same socket; * multiple topic subscriptions per connection. On disconnect the * eventHub's onChannelClosed hook auto-cleans subscriptions. * * 2. SSE endpoint at `GET /events/:topic` — one connection = one topic. * Subscribes the channel, returns; the eventHub fans out via * `channel.send` until the client closes. onChannelClosed cleans up. * * Both routes call `eventHub.subscribe`/`unsubscribe` with the channel id; * publish-side ergonomics (envelope shape) are documented in the * pikku-realtime skill. */ export declare const serializeEventsScaffold: (authRequired: boolean, pikkuTypesImportPath: string) => EventsGenOutput;