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 */ /** * @deprecated Use `createSlidingWindowReducer()`, or `strategy: 'sliding-window'`. * * Never reachable through the runtime, and `reduceContext` here computes a * trim index and returns a boolean without trimming anything. */ 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