/** * Notifications Stream Endpoint * * Stream endpoint for IN_APP notification real-time events. * Handles notification lifecycle events (created, read, unread, deleted). * * NOTE: This endpoint handles IN_APP notifications only (bell icon notifications). * Email, SMS, and Push notification delivery is handled by @plyaz/notifications package. * * @example * ```typescript * // Register in StreamRegistry * await StreamRegistry.initialize({ * broadcaster: streamServer.getBroadcaster(), * endpoints: [ * { endpoint: NotificationsStreamEndpoint, config: { enabled: true } }, * ], * }); * ``` */ import { BaseStreamEndpoint } from '../../../events/streaming/base/BaseStreamEndpoint'; import type { BaseChannelController } from '../../../events/streaming/channels/BaseChannelController'; import type { StreamEndpointConfig, StreamEndpointCreateOptions } from '@plyaz/types/core'; /** * NotificationsStreamEndpoint - Handles IN_APP notification streaming events * * Channels managed: * - `notification:{notificationId}` - Per-notification updates * - `user:notifications:{userId}` - All notifications for a specific user * - `notifications` - Broadcast channel for all notifications (current user) * - `notifications:unread` - Broadcast channel for unread notifications * * Events: * - `notification:created` - New in-app notification created * - `notification:read` - Notification marked as read * - `notification:unread` - Notification marked as unread * - `notification:deleted` - Notification deleted * - `notifications:batch` - Batch operations (e.g., mark all as read) */ export declare class NotificationsStreamEndpoint extends BaseStreamEndpoint { /** Static endpoint key for registry lookup */ static readonly endpointKey = "notifications"; /** * Create channel controller for this endpoint. */ protected createChannelController(): BaseChannelController; /** * Initialize event subscriptions. * Called by StreamRegistry during initialization. */ initialize(): void; /** * Static factory method for creating endpoint instances. * * @param config - Endpoint configuration * @param options - Create options (broadcaster, auth, etc.) * @returns Promise resolving to endpoint instance */ static create(config: StreamEndpointConfig, options: StreamEndpointCreateOptions): Promise; } //# sourceMappingURL=NotificationsStreamEndpoint.d.ts.map