import type { Message } from '../session/session-jsonl.js'; export interface PromptPrefixStabilityIssue { kind: 'shorter' | 'changed' | 'role_changed' | 'content_modified'; previousLength: number; currentLength: number; firstChangedIndex?: number; detail?: string; } export interface PromptCacheEligibility { eligible: boolean; reason: 'disabled' | 'missing_stable_prefix' | 'stable_prefix_too_short' | 'dynamic_suffix_too_large' | 'eligible'; stableChars: number; dynamicChars: number; minStableChars: number; maxDynamicCharsRatio: number; } export interface PromptCacheEligibilityOptions { enabled?: boolean; minStableChars?: number; maxDynamicCharsRatio?: number; } export declare const DEFAULT_PROMPT_CACHE_MIN_STABLE_CHARS = 2048; export declare const DEFAULT_PROMPT_CACHE_MAX_DYNAMIC_CHARS_RATIO = 0.25; export declare function isPromptPrefixDebugEnabled(): boolean; export declare function assessPromptCacheEligibility(parts: { stable?: string; dynamic?: string; } | undefined, options?: PromptCacheEligibilityOptions): PromptCacheEligibility; export declare function snapshotMessagesForPrefixCheck(messages: readonly Message[]): Message[]; export declare function checkPromptPrefixStable(previous: readonly Message[] | null, current: readonly Message[]): PromptPrefixStabilityIssue | null; export declare function checkToolOrderConsistency(previousToolNames: readonly string[] | null, currentToolNames: readonly string[]): { consistent: boolean; detail?: string; }; //# sourceMappingURL=prompt-prefix-cache.d.ts.map