import { DialogueChunk } from './compiler.js';
export interface ContextInfo {
    previousDialogues: DialogueChunk[];
    nextDialogues: DialogueChunk[];
    contextText: string;
}
export declare class ContextExtractor {
    /**
     * 提取对话的上下文信息
     * @param allDialogues 所有对话列表
     * @param currentIndex 当前对话的索引
     * @param contextSize 上下文大小（前后各取多少条对话），默认为2
     * @returns 上下文信息
     */
    static extractContext(allDialogues: DialogueChunk[], currentIndex: number, contextSize?: number): ContextInfo;
    /**
     * 构建上下文文本描述
     * @param previousDialogues 前面的对话
     * @param nextDialogues 后面的对话
     * @returns 上下文文本
     */
    private static buildContextText;
    /**
     * 为翻译任务批量提取上下文
     * @param allDialogues 所有对话列表
     * @param targetDialogues 需要翻译的对话列表
     * @param contextSize 上下文大小
     * @returns 对话索引到上下文的映射
     */
    static extractBatchContext(allDialogues: DialogueChunk[], targetDialogues: DialogueChunk[], contextSize?: number): Map<string, ContextInfo>;
    /**
     * 智能上下文提取 - 根据对话内容判断是否需要更多上下文
     * @param dialogue 当前对话
     * @param allDialogues 所有对话列表
     * @param currentIndex 当前对话索引
     * @returns 上下文信息
     */
    static smartExtractContext(dialogue: DialogueChunk, allDialogues: DialogueChunk[], currentIndex: number): ContextInfo;
    /**
     * 判断对话是否需要更多上下文
     * @param text 对话文本
     * @returns 是否需要更多上下文
     */
    private static needsMoreContext;
}
//# sourceMappingURL=context.d.ts.map