import type { Message } from '../../types/message/index.js';
import type { ConversationManager } from '../interface.js';
export interface SlidingWindowManagerConfig {
    /**
     * Number of most recent messages to always keep.
     * Default: 4
     */
    keepRecentMessages?: number;
}
/**
 * Simple window-based conversation manager.
 * Trims old messages to maintain a fixed-size window of recent context.
 * Fastest strategy, least context preservation.
 *
 * Algorithm:
 * 1. If message count exceeds window size, trim excess from the start
 * 2. Use findSafeTrimIndex to ensure tool call/result pairs remain atomic
 * 3. applyManagement runs proactively each iteration; reduceContext on overflow
 */
export declare class SlidingWindowManager implements ConversationManager {
    readonly name = "sliding-window";
    private readonly keepRecentMessages;
    constructor(config?: SlidingWindowManagerConfig);
    applyManagement(messages: Message[]): Message[];
    reduceContext(messages: Message[], _overflowTokens: number): boolean;
}
//# sourceMappingURL=slidingWindow.d.ts.map