import type { ContextUsage } from '../../core/types/agent-types.js'; /** Infer the initial Claude context window from the configured model-name contract. */ export declare function inferClaudeContextWindow(model: string | null | undefined): number; /** * Tracks the latest provider call rather than aggregating a Cortex turn. The configured-model * suffix supplies the first-turn default; result.modelUsage replaces it with the runtime window. */ export declare class ClaudeContextUsageTracker { private readonly configuredModel; private readonly autoCompactWindow; private contextWindow; private currentInput; private currentUsed; private activeModel; private resultFallbackAllowed; private lastSnapshotKey; constructor(configuredModel?: string | null, autoCompactWindow?: number | null); /** Claude compacts at the configured auto-compact window, so the usable window — and therefore * the occupancy denominator — is the smaller of that setting and the model's own window. */ private capped; observe(value: unknown): ContextUsage | null; private observeStream; private observeMessageStart; private observeMessageDelta; private observeCompaction; private observeResult; private snapshot; }