/** * PartyKit / Durable Object room handler for Trellis sync. * * Deploy as a PartyKit server module: * * import { createPartyKitRoomHandler } from 'trellis/sync/partykit-room'; * export default createPartyKitRoomHandler(); * * Clients connect with `?peerId=` (required) and optional `?token=`. */ /** Minimal PartyKit room surface (avoids a hard dependency on `partykit`). */ export interface PartyKitRoomLike { id: string; getConnection(id: string): PartyKitConnectionLike | undefined; getConnections(): Iterable; } export interface PartyKitConnectionLike { id: string; send(data: string): void; close(code?: number, reason?: string): void; } export interface PartyKitRoomHandlerOptions { welcomeSnapshot?: boolean; welcomeSnapshotMaxOps?: number; } /** * PartyKit `onConnect` / `onMessage` helpers backed by {@link SyncRoomServer}. */ export declare function createPartyKitRoomHandler(opts?: PartyKitRoomHandlerOptions): { onConnect(connection: PartyKitConnectionLike, room: PartyKitRoomLike, request?: { url?: string; }): Promise; onMessage(message: string | ArrayBuffer, connection: PartyKitConnectionLike, room: PartyKitRoomLike, request?: { url?: string; }): Promise; onClose(connection: PartyKitConnectionLike, room: PartyKitRoomLike, request?: { url?: string; }): void; }; //# sourceMappingURL=partykit-room.d.ts.map