import type { Api, Model } from "@bastani/pi-ai"; import type { AssistantMessage } from "@bastani/pi-ai/compat"; import type { SessionEntry } from "./session-manager.ts"; export interface CacheMiss { missedTokens: number; missedCost: number; idleMs: number; modelChanged: boolean; cacheExpired: boolean; } export interface CacheWasteTotals { missedTokens: number; missedCost: number; missCount: number; } export interface ModelPriceSource { getModel(provider: string, modelId: string): { cost: { cacheRead: number; }; } | undefined; getPromptCacheTtlMs?(provider: string, modelId: string): number | undefined; } export declare function createCacheMissModelSource(runtime: { getModel(provider: string, modelId: string): Model | undefined; }): ModelPriceSource; export declare function describeCacheMissCause(miss: CacheMiss): string; export declare function computeCacheWaste(entries: SessionEntry[], models: ModelPriceSource): CacheWasteTotals; export declare function collectCacheMisses(entries: SessionEntry[], models: ModelPriceSource): Map; export declare function detectCacheMiss(entries: SessionEntry[], message: AssistantMessage, models: ModelPriceSource): CacheMiss | undefined; //# sourceMappingURL=cache-stats.d.ts.map