/**
 * Chat协议事件序列化适配器
 * 将内部ChatSseEvent对象转换为真实的SSE wire格式
 */
import type { ChatSseEvent } from '../../types/chat-types.js';
import type { EventSerializer } from './base-serializer.js';
/**
 * Chat协议SSE事件序列化器
 * 负责将内部事件对象转换为符合SSE标准的文本格式
 */
export declare class ChatEventSerializer implements EventSerializer<ChatSseEvent> {
    /**
     * 将Chat事件序列化为SSE wire格式
     */
    serializeToWire(event: ChatSseEvent): string;
    /**
     * 从SSE wire格式反序列化为Chat事件
     */
    deserializeFromWire(wireData: string): ChatSseEvent;
    /**
     * 验证SSE wire格式
     */
    validateWireFormat(wireData: string): boolean;
    /**
     * 序列化Chat chunk事件
     * 格式: event: chat_chunk\ndata: {...}\n\n
     */
    private serializeChatChunk;
    /**
     * 序列化Chat完成事件
     * 格式: event: chat.done\ndata: {"type":"done",...}\n\n
     */
    private serializeChatDone;
    /**
     * 序列化Chat错误事件
     */
    private serializeChatError;
    /**
     * 序列化心跳事件
     */
    private serializeHeartbeat;
    /**
     * 反序列化Chat chunk事件
     */
    private deserializeChatChunk;
    /**
     * 反序列化Chat完成事件
     */
    private deserializeChatDone;
    /**
     * 反序列化Chat错误事件
     */
    private deserializeChatError;
    /**
     * 反序列化心跳事件
     */
    private deserializeHeartbeat;
    /**
     * 从wire数据中提取时间戳
     */
    private extractTimestamp;
    /**
     * 创建标准Chat chunk事件
     */
    static createChunkEvent(chunkData: any, timestamp?: number): ChatSseEvent;
    /**
     * 创建标准Chat完成事件
     */
    static createDoneEvent(requestId: string, totalEvents: number, timestamp?: number): ChatSseEvent;
    /**
     * 创建标准Chat错误事件
     */
    static createErrorEvent(error: Error, requestId: string, timestamp?: number): ChatSseEvent;
    /**
     * 创建心跳事件
     */
    static createHeartbeatEvent(timestamp?: number): ChatSseEvent;
}
/**
 * 默认Chat事件序列化器实例
 */
export declare const defaultChatEventSerializer: ChatEventSerializer;
