/**
 * Sliding Window Strategy
 *
 * 滑动窗口压缩策略
 * 保留最近 N 个结果，将历史结果压缩为摘要
 */
import { ICompactionStrategy, CompactionConfig, CompactionResult } from '../compactionTypes';
import { SubAgentContext } from '../../types';
import { TokenEstimator } from '../tokenEstimator';
/**
 * 滑动窗口压缩策略
 */
export declare class SlidingWindowStrategy implements ICompactionStrategy {
    name: 'sliding_window';
    private tokenEstimator;
    constructor(tokenEstimator?: TokenEstimator);
    /**
     * 执行压缩
     */
    compact(context: SubAgentContext, config: CompactionConfig): Promise<CompactionResult>;
    /**
     * 估算压缩后的 token 数
     */
    estimateCompactedTokens(context: SubAgentContext, config: CompactionConfig): number;
    /**
     * 生成规则基础的摘要
     */
    private generateSummary;
    /**
     * 生成历史结果摘要文本
     *
     * 保留每轮分析的目标和关键结论，而不仅仅是统计数字。
     * 这让 LLM 在后续轮次中能引用早期的具体发现。
     */
    private generateHistoricalSummary;
    /**
     * 生成发现摘要文本
     *
     * 保留 top findings 的 title + description 摘要（不只是统计数字），
     * 让 LLM 在后续轮次中能理解和引用具体的分析发现。
     */
    private generateFindingsSummary;
    /**
     * 创建无压缩结果
     */
    private createNoCompactionResult;
}
/**
 * 创建滑动窗口策略
 */
export declare function createSlidingWindowStrategy(tokenEstimator?: TokenEstimator): SlidingWindowStrategy;
export default SlidingWindowStrategy;
//# sourceMappingURL=slidingWindowStrategy.d.ts.map