/**
 * SSE Format Parsers for different AI providers
 * Handles parsing Server-Sent Events from OpenAI, Anthropic (Claude), and Google Gemini APIs
 */
export type SSEFormat = 'openai' | 'anthropic' | 'google-gemini';
export type SSEParser = (line: string) => string | null;
/**
 * OpenAI streaming format parser
 * Format: data: {"choices":[{"delta":{"content":"token"}}]}
 * End signal: data: [DONE]
 *
 * @param line - Raw SSE line from stream
 * @returns Extracted token or null
 *
 * @example
 * parseOpenAI('data: {"choices":[{"delta":{"content":"Hello"}}]}')
 * // Returns: "Hello"
 */
export declare const parseOpenAI: SSEParser;
/**
 * Anthropic (Claude) streaming format parser
 * Format:
 *   event: content_block_delta
 *   data: {"delta":{"type":"text_delta","text":"token"}}
 *
 * @param line - Raw SSE line from stream
 * @returns Extracted token or null
 *
 * @example
 * parseAnthropic('data: {"delta":{"type":"text_delta","text":"Hello"}}')
 * // Returns: "Hello"
 */
export declare const parseAnthropic: SSEParser;
/**
 * Google Gemini streaming format parser
 * Format: data: {"candidates":[{"content":{"parts":[{"text":"token"}]}}]}
 *
 * @param line - Raw SSE line from stream
 * @returns Extracted token or null
 *
 * @example
 * parseGemini('data: {"candidates":[{"content":{"parts":[{"text":"Hello"}]}}]}')
 * // Returns: "Hello"
 */
export declare const parseGemini: SSEParser;
/**
 * Parser registry mapping format names to parser functions
 */
export declare const SSE_PARSERS: Record<SSEFormat, SSEParser>;
/**
 * Parse an SSE line using the specified format parser
 *
 * @param line - Raw SSE line from stream
 * @param format - AI provider format or custom parser function
 * @returns Extracted token or null
 *
 * @example
 * // Using predefined format
 * parseSSELine('data: {...}', 'openai')
 *
 * // Using custom parser
 * parseSSELine('data: {...}', (line) => customParser(line))
 */
export declare const parseSSELine: (line: string, format: SSEFormat | SSEParser) => string | null;
