/**
 * Stage 4: Sliding Window Truncation
 *
 * Non-destructive fallback: tags oldest messages as truncated
 * instead of deleting them. Always preserves first message pair.
 * Removes messages in pairs to maintain role alternation.
 *
 * Features:
 * - Adaptive truncation (PERF-001): calculates fraction from actual overage
 *   instead of fixed 50%, with iterative refinement up to 6 passes.
 * - Small conversation handling (BUG-005): for <= 4 messages, truncates
 *   message content proportionally instead of returning no-op.
 */
import type { ChatMessage } from "../../types/conversation.js";
import type { TruncationConfig, TruncationResult } from "../../types/contextTypes.js";
export type { TruncationConfig, TruncationResult, } from "../../types/contextTypes.js";
export declare function truncateWithSlidingWindow(messages: ChatMessage[], config?: TruncationConfig): TruncationResult;
