/** * EventStream class * Provides bidirectional communication stream between worker and main thread */ import { EventEmitter } from "eventemitter3"; import { StreamEventMessage, StreamEventHandler, StreamOptions as EventStreamOptions } from "../types/events.js"; import { StreamStatus } from "../types/stream.js"; /** * EventStream class for managing event streams * @template T - Type of events in the stream */ export declare class EventStream extends EventEmitter { private sendMessage; /** Stream ID */ private id; /** Stream status */ private status; /** Worker ID */ private workerId?; /** Stream options */ private options; /** Last activity time */ private lastActivityTime; /** Timeout timer */ private timeoutTimer?; /** * EventStream constructor * @param sendMessage Message sending callback * @param options Stream options */ constructor(sendMessage: (message: StreamEventMessage) => Promise, options?: EventStreamOptions); /** * Initialize stream */ private initialize; /** * Get stream ID */ getId(): string; /** * Get stream status */ getStatus(): StreamStatus; /** * Send message * @param data Data to send */ send(data: T): Promise; /** * Handle received message * @param message Received message */ handleMessage(message: StreamEventMessage): void; /** * Pause stream */ pause(): Promise; /** * Resume stream */ resume(): Promise; /** * Close stream */ close(): Promise; /** * Set event handlers * @param handlers Event handlers */ setEventHandlers(handlers: StreamEventHandler): void; /** * Update last activity time */ private updateActivity; /** * Setup timeout timer */ private setupTimeoutTimer; /** * Clear timeout timer */ private clearTimeoutTimer; }