/**
 * Demo3流水线数据匹配器 - 完整流程一致性保证
 * 确保从输入到输出的每个环节都与Demo3 AIClient-2-API保持一致
 * 项目所有者: Jason Zhang
 */
import { BaseRequest, BaseResponse } from '@/types';
import { Demo3RequestFormat, Demo3ResponseFormat } from './demo3-data-matcher';
export interface Demo3PipelineConfig {
    endpoint: string;
    authHeaderName: 'x-api-key' | 'Authorization';
    authHeaderValue: string;
    enableProfileArn: boolean;
    profileArnTruncateLength: number;
    conversationIdPrefix: string;
    messageIdPrefix: string;
}
export interface Demo3PipelineContext {
    requestId: string;
    sessionId?: string;
    conversationId?: string;
    originalRequest: any;
    demo3Request: Demo3RequestFormat;
    demo3Response?: Demo3ResponseFormat;
    transformedResponse?: BaseResponse;
    metadata: {
        startTime: number;
        endTime?: number;
        duration?: number;
        stage: string;
        profileArn?: string;
    };
}
export declare class Demo3PipelineMatcher {
    private readonly config;
    constructor(config?: Partial<Demo3PipelineConfig>);
    /**
     * 🎯 Step 1: 输入预处理 - 完全匹配Demo3的输入处理逻辑
     */
    preprocessInput(request: BaseRequest): Demo3PipelineContext;
    /**
     * 🎯 Step 2: 请求转换 - 精确转换为Demo3格式
     */
    transformRequest(context: Demo3PipelineContext): Demo3PipelineContext;
    /**
     * 🎯 Step 3: API调用准备 - 生成Demo3兼容的API调用参数
     */
    prepareApiCall(context: Demo3PipelineContext): {
        url: string;
        headers: Record<string, string>;
        body: Demo3RequestFormat;
        method: string;
    };
    /**
     * 🎯 Step 4: 响应处理 - 处理Demo3返回的响应
     */
    processResponse(context: Demo3PipelineContext, apiResponse: any): Demo3PipelineContext;
    /**
     * 🎯 Step 5: 输出转换 - 转换为标准格式但保持Demo3特征
     */
    transformOutput(context: Demo3PipelineContext): Demo3PipelineContext;
    /**
     * 🎯 完整流水线处理 - 一站式Demo3兼容处理
     */
    processFullPipeline(request: BaseRequest, apiCallFunction: (apiCall: any) => Promise<any>): Promise<BaseResponse>;
    /**
     * 🎯 流式处理支持 - Demo3兼容的流式响应处理
     */
    processStreamPipeline(request: BaseRequest, streamApiCallFunction: (apiCall: any) => AsyncIterable<any>): AsyncIterable<any>;
    /**
     * Demo3响应格式验证和标准化
     */
    private validateAndNormalizeDemo3Response;
    /**
     * 流式chunk格式化
     */
    private formatStreamChunk;
    /**
     * 生成Demo3兼容的请求ID
     */
    private generateRequestId;
    /**
     * 生成Demo3兼容的对话ID
     */
    private generateConversationId;
    /**
     * 生成Demo3兼容的消息ID
     */
    private generateMessageId;
    /**
     * 🎯 获取处理统计信息
     */
    getProcessingStats(context: Demo3PipelineContext): Record<string, any>;
}
/**
 * 创建Demo3流水线匹配器实例
 */
export declare function createDemo3PipelineMatcher(config?: Partial<Demo3PipelineConfig>): Demo3PipelineMatcher;
//# sourceMappingURL=demo3-pipeline-matcher.d.ts.map