/**
 * Chat协议事件生成器
 * 提供纯函数，将Chat响应数据转换为SSE事件对象，不处理流写入
 */
import type { ChatSseEvent, ChatToolCall } from '../../types/index.js';
export interface ChatEventGeneratorConfig {
    chunkSize: number;
    chunkDelayMs: number;
    enableIdGeneration: boolean;
    enableTimestampGeneration: boolean;
}
export interface ChatEventGeneratorContext {
    model: string;
    requestId: string;
    choiceIndex: number;
    toolCallIndexCounter: number;
    contentIndexCounter: Map<string, number>;
}
export declare const DEFAULT_CHAT_EVENT_GENERATOR_CONFIG: ChatEventGeneratorConfig;
/**
 * 创建默认上下文
 */
export declare function createDefaultContext(model: string, requestId: string): ChatEventGeneratorContext;
/**
 * 构建role delta事件
 */
export declare function buildRoleDelta(role: string, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): ChatSseEvent[];
/**
 * 构建reasoning delta事件
 */
export declare function buildReasoningDeltas(reasoning: string, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): Generator<ChatSseEvent>;
/**
 * 构建content delta事件
 */
export declare function buildContentDeltas(content: string, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): Generator<ChatSseEvent>;
/**
 * 构建tool_call开始事件
 */
export declare function buildToolCallStart(toolCall: ChatToolCall, toolCallIndex: number, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): ChatSseEvent;
/**
 * 构建tool_call arguments delta事件
 */
export declare function buildToolCallArgsDeltas(args: string, toolCallIndex: number, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): Generator<ChatSseEvent>;
/**
 * 构建finish_reason事件
 */
export declare function buildFinishEvent(finishReason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | 'function_call', context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): ChatSseEvent;
/**
 * 构建done事件
 */
export declare function buildDoneEvent(context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): ChatSseEvent;
/**
 * 构建error事件
 */
export declare function buildErrorEvent(error: Error, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): ChatSseEvent;
