/**
 * Realtime collaboration surface for `@actuate-media/cms-core`.
 *
 * - `createRealtimeGateway` — transport-agnostic gateway that owns rooms,
 *   debounces persistence, and reaps idle documents. Consumers wrap their
 *   server's socket primitive in a `WebSocketLike` adapter and feed it via
 *   `gateway.handleConnection(socket, req)`.
 * - `createPrismaDocumentPersistence` — Prisma-backed implementation of
 *   `DocumentPersistence` against the `DocumentCRDT` table.
 *
 * See `packages/realtime/README.md` for the protocol details and
 * `docs/roadmap-status.md` for the Phase 3 slice plan.
 */
export { createRealtimeGateway, } from './gateway.js';
export { createPrismaDocumentPersistence, } from './persistence.js';
export { createComment, deleteComment, listComments, normaliseBody, parseAnchor, reopenComment, resolveComment, toCommentDTO, updateComment, DEFAULT_COMMENT_LIST_PAGE_SIZE, MAX_COMMENT_BODY_LENGTH, MAX_COMMENT_LIST_PAGE_SIZE, } from './comments.js';
export { createNotification, excerptForNotification, extractMentionedUserIds, isNotificationKind, listForUser as listNotificationsForUser, markAllRead as markAllNotificationsRead, markRead as markNotificationRead, toNotificationDTO, unreadCount as notificationsUnreadCount, DEFAULT_NOTIFICATION_LIST_PAGE_SIZE, MAX_NOTIFICATION_LIST_PAGE_SIZE, } from './notifications.js';
export { publishNotification, subscribeUserNotifications, notificationSubscriberCount, } from './notification-bus.js';
// `__resetNotificationBus` is intentionally NOT re-exported here. It
// is a test helper — tests import it directly from
// `./notification-bus.js` so production consumers can't reach it via
// the package's public realtime surface.
export { createNotificationStream, createNotificationStreamResponse, NOTIFICATION_SSE_HEADERS, NOTIFICATION_SSE_HEARTBEAT_MS, NOTIFICATION_SSE_MAX_LIFETIME_MS, } from './notification-stream.js';
// Shared SSE encoder. Single source of truth across every Server-Sent
// Events stream in cms-core (preview + notifications).
export { encodeSseEvent } from './sse.js';
//# sourceMappingURL=index.js.map