/**
 * Finish Reason修正器
 * 专门修复OpenAI工具调用的finish_reason映射问题
 * 确保工具调用返回正确的finish_reason
 */
export interface FinishReasonCorrectionContext {
    provider: string;
    model: string;
    requestId: string;
    hasToolsInRequest: boolean;
    isStreaming: boolean;
}
export interface FinishReasonCorrectionResult {
    originalReason: string;
    correctedReason: string;
    wasCorreted: boolean;
    confidence: number;
    detectionMethod: string;
}
export declare class FinishReasonCorrector {
    private logger;
    constructor(port?: number);
    /**
     * 修正finish_reason - 核心方法
     */
    correctFinishReason(originalReason: string, responseData: any, context: FinishReasonCorrectionContext): FinishReasonCorrectionResult;
    /**
     * 检测响应中的工具调用
     */
    private detectToolCallsInResponse;
    /**
     * 从响应中提取文本内容
     */
    private extractTextContent;
    /**
     * 检测文本中的工具调用
     */
    private detectToolCallsInText;
    /**
     * 基于上下文推断是否应该有工具调用
     */
    private shouldInferToolCall;
    /**
     * 确定修正后的finish_reason
     */
    private determineCorrectedReason;
    /**
     * 批量修正多个响应的finish_reason
     */
    batchCorrectFinishReasons(responses: Array<{
        reason: string;
        data: any;
        context: FinishReasonCorrectionContext;
    }>): Array<FinishReasonCorrectionResult>;
    /**
     * 验证finish_reason是否需要修正
     */
    needsCorrection(finishReason: string, responseData: any, context: FinishReasonCorrectionContext): boolean;
    /**
     * 获取修正统计信息
     */
    getStats(): {
        supportedProviders: string[];
        detectionMethods: string[];
        confidenceThresholds: {
            high: number;
            medium: number;
            low: number;
        };
    };
}
export declare const finishReasonCorrector: FinishReasonCorrector;
export declare function correctFinishReason(originalReason: string, responseData: any, context: FinishReasonCorrectionContext): FinishReasonCorrectionResult;
export declare function needsFinishReasonCorrection(finishReason: string, responseData: any, context: FinishReasonCorrectionContext): boolean;
//# sourceMappingURL=finish-reason-corrector.d.ts.map