import EventEmitter from '../utils/eventEmitter'; import { type ConnectionInfo, type SSEClientConfig, SSEConnectionState } from './types'; /** * SSE Client * 采用分层设计,分离了连接管理、状态管理、事件解析等职责 */ export declare class SSEClient extends EventEmitter { readonly connectionId: string; private state; private controller?; private reader?; private connectionManager; private parser; private timeoutTimer?; private config; private logger; private url; private connectionInfo; private firstTokenReceived; constructor(url: string); /** * 连接 SSE 服务 */ connect(config: SSEClientConfig): Promise; /** * 关闭连接 */ abort(): Promise; /** * 获取连接状态 */ getStatus(): SSEConnectionState; /** * 获取连接信息 */ getInfo(): ConnectionInfo; /** * 建立连接 */ private establishConnection; /** * 读取流数据 */ private readStream; /** * 启动统一超时监控 */ private startTimeoutMonitor; /** * 解析SSE数据 */ private parseSSEData; /** * 简化的错误处理 */ private handleConnectionError; /** * 清理超时定时器 */ private clearTimeouts; /** * 设置连接状态 */ private setState; /** * 重置解析器状态 */ private resetParser; /** * 设置内部事件处理器 */ private setupInternalEventHandlers; /** * 生成连接ID */ private generateConnectionId; }