/** * System Stream Endpoint * * Stream endpoint for system-level events like heartbeat and connection lifecycle. * * @example * ```typescript * // Register in StreamRegistry * await StreamRegistry.initialize({ * broadcaster: streamServer.getBroadcaster(), * endpoints: [ * { endpoint: SystemStreamEndpoint, config: { enabled: true } }, * ], * }); * ``` */ import { BaseStreamEndpoint } from '../../base/BaseStreamEndpoint'; import type { BaseChannelController } from '../../channels/BaseChannelController'; import type { StreamEndpointConfig, StreamEndpointCreateOptions, StreamConnection } from '@plyaz/types/core'; /** * SystemStreamEndpoint - Handles system-level streaming events * * Channels managed: * - `system` - System events (heartbeat, connected, disconnected) */ export declare class SystemStreamEndpoint extends BaseStreamEndpoint { /** Static endpoint key for registry lookup */ static readonly endpointKey = "system"; /** Heartbeat interval in milliseconds */ private readonly heartbeatInterval; constructor(config: StreamEndpointConfig, options: StreamEndpointCreateOptions); /** * Create channel controller for this endpoint. */ protected createChannelController(): BaseChannelController; /** * Initialize event subscriptions. * Called by StreamRegistry during initialization. */ initialize(): void; /** * Called when a new connection is established. * Broadcasts a connected event. */ protected onConnect(connection: StreamConnection): Promise; /** * Called when a connection is closed. * Broadcasts a disconnected event. */ protected onDisconnect(connectionId: string): Promise; /** * 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=SystemStreamEndpoint.d.ts.map