import type { OpenClawConfig } from "../config/config.js"; import type { ContextEngineInfo } from "../context-engine/types.js"; export declare const DEFAULT_PI_COMPACTION_RESERVE_TOKENS_FLOOR = 20000; export declare const DEFAULT_PI_COMPACTION_DYNAMIC_KEEP_MARGIN_TOKENS = 12000; export declare const MIN_PI_DYNAMIC_KEEP_RECENT_TOKENS = 1024; export declare const DEFAULT_PI_PROMPT_IMAGE_TOKEN_ESTIMATE = 2000; type PiSettingsManagerLike = { getCompactionReserveTokens: () => number; getCompactionKeepRecentTokens: () => number; applyOverrides: (overrides: { compaction: { reserveTokens?: number; keepRecentTokens?: number; }; }) => void; setCompactionEnabled?: (enabled: boolean) => void; }; export declare function ensurePiCompactionReserveTokens(params: { settingsManager: PiSettingsManagerLike; minReserveTokens?: number; }): { didOverride: boolean; reserveTokens: number; }; export declare function resolveCompactionReserveTokensFloor(cfg?: OpenClawConfig): number; export declare function applyPiCompactionSettingsFromConfig(params: { settingsManager: PiSettingsManagerLike; cfg?: OpenClawConfig; }): { didOverride: boolean; compaction: { reserveTokens: number; keepRecentTokens: number; }; }; export declare function applyPiAdaptiveKeepRecentBudget(params: { settingsManager: PiSettingsManagerLike; contextWindowTokens?: number; systemPromptChars?: number; promptChars?: number; promptImageCount?: number; safetyMarginTokens?: number; minKeepRecentTokens?: number; }): { didOverride: boolean; keepRecentTokens: number; keepRecentTokensCap: number; reserveTokens: number; estimatedSystemPromptTokens: number; estimatedPromptTokens: number; estimatedPromptImageTokens: number; safetyMarginTokens: number; availableHistoryTokens: number; }; export declare function resolveOverflowCompactionKeepRecentTokens(params: { contextWindowTokens?: number; currentKeepRecentTokens: number; reserveTokens: number; systemPromptChars?: number; promptChars?: number; promptImageCount?: number; }): number | undefined; /** Decide whether Pi's internal auto-compaction should be disabled for this run. */ export declare function shouldDisablePiAutoCompaction(params: { contextEngineInfo?: ContextEngineInfo; }): boolean; /** Disable Pi auto-compaction via settings when a context engine owns compaction. */ export declare function applyPiAutoCompactionGuard(params: { settingsManager: PiSettingsManagerLike; contextEngineInfo?: ContextEngineInfo; }): { supported: boolean; disabled: boolean; }; export {};