/**
 * 统一OpenAI非流式处理基类 (重构版)
 * 项目所有者: Jason Zhang
 *
 * Provider统一使用非流式调用API，然后根据需求模拟流式响应
 * 遵循零硬编码、零Fallback、零静默失败原则
 */
import OpenAI from 'openai';
import { BaseRequest, BaseResponse } from '@/types';
import { createOpenAITransformer } from '@/transformers/openai';
/**
 * 统一API处理配置接口
 */
export interface APIHandlerConfig {
    providerName: string;
    openaiClient: OpenAI;
    transformer?: ReturnType<typeof createOpenAITransformer>;
}
/**
 * 统一的OpenAI API处理类 - 只做非流式调用
 * 所有Provider都通过此类进行统一的非流式API调用
 */
export declare class OpenAIAPIHandler {
    private config;
    private transformer;
    constructor(config: APIHandlerConfig);
    /**
     * 统一的非流式API调用 - 所有工具转换在transformer中处理
     */
    callAPI(request: BaseRequest): Promise<BaseResponse>;
    /**
     * 检查是否是超时错误
     */
    private isTimeoutError;
    /**
     * 获取provider名称
     */
    get providerName(): string;
    /**
     * 🔧 CRITICAL FIX: 应用响应格式兼容性修复
     * 解决ModelScope/ShuaiHong等非标准API的格式问题
     */
    private applyResponseFormatFix;
    /**
     * 从非标准响应中提取内容
     */
    private extractContent;
    /**
     * 从非标准响应中提取工具调用
     */
    private extractToolCalls;
    /**
     * 从非标准响应中提取finish_reason
     */
    private extractFinishReason;
}
/**
 * 流式响应模拟器 - 将非流式响应转换为流式格式
 */
export declare class StreamingSimulator {
    /**
     * 将BaseResponse转换为Anthropic流式事件序列
     */
    static simulateStreamingResponse(response: BaseResponse, requestId: string): Generator<any, void, unknown>;
}
/**
 * 创建API处理器实例
 */
export declare function createAPIHandler(config: APIHandlerConfig): OpenAIAPIHandler;
export declare function createStreamingHandler(config: APIHandlerConfig): OpenAIAPIHandler;
export type OpenAIStreamingHandler = OpenAIAPIHandler;
//# sourceMappingURL=openai-streaming-handler.d.ts.map