/**
 * SSE事件解析器
 * 负责将SSE文本帧解析为标准化的SSE事件对象
 */
import type { BaseSseEvent } from '../../types/index.js';
export interface SseParserConfig {
    enableStrictValidation: boolean;
    enableEventRecovery: boolean;
    maxEventSize: number;
    allowedEventTypes: Set<string>;
}
export interface SseParseResult {
    success: boolean;
    event?: BaseSseEvent;
    error?: string;
    rawData: string;
}
export declare const DEFAULT_SSE_PARSER_CONFIG: SseParserConfig;
/**
 * SSE原始事件数据
 */
export interface RawSseEvent {
    id?: string;
    event: string;
    data: string;
    retry?: string;
    timestamp?: number;
}
/**
 * 将原始SSE行组装为事件
 */
export declare function assembleSseEvent(lines: string[]): RawSseEvent | null;
/**
 * 解析SSE事件文本为标准化事件对象
 */
export declare function parseSseEvent(sseText: string, config?: SseParserConfig): SseParseResult;
/**
 * 解析SSE流（处理多事件数据）
 */
export declare function parseSseStream(sseData: string, config?: SseParserConfig): Generator<SseParseResult>;
/**
 * 流式解析SSE数据
 */
export declare function parseSseStreamAsync(asyncSseData: AsyncIterable<string>, config?: SseParserConfig): AsyncGenerator<SseParseResult>;
/**
 * 创建SSE解析器工厂
 */
export declare function createSseParser(config?: Partial<SseParserConfig>): {
    /**
     * 解析单个事件
     */
    parseEvent(sseText: string): SseParseResult;
    /**
     * 解析多事件流
     */
    parseStream(sseData: string): Generator<SseParseResult>;
    /**
     * 异步解析流
     */
    parseStreamAsync(asyncSseData: AsyncIterable<string>): AsyncGenerator<SseParseResult>;
    /**
     * 获取当前配置
     */
    getConfig(): SseParserConfig;
    /**
     * 添加允许的事件类型
     */
    addEventType(eventType: string): void;
    /**
     * 移除允许的事件类型
     */
    removeEventType(eventType: string): void;
};
