import type { RenderResult } from "../orchestrator/types.js"; import type { CacheStore } from "../cache/types.js"; import type { CacheLookupStatus } from "../cache/cache-coordinator.js"; import { type MemoryCacheStoreOptions } from "../cache/stores/index.js"; import type { RenderContext } from "../context/render-context.js"; export interface ContextAwareCacheOptions { store?: CacheStore; memory?: MemoryCacheStoreOptions; ttlMs?: number; staleMs?: number; } export interface ContextAwareCacheLookupResult { cachedResult?: RenderResult; cacheKey: string; hit: boolean; status: CacheLookupStatus; lookupDurationMs: number; } export declare class ContextAwareCacheCoordinator { private store; private ttlMs; private staleMs; private readonly defaultTtlMs; constructor(options?: ContextAwareCacheOptions); checkCache(slug: string, ctx: RenderContext, colorScheme?: "light" | "dark", cacheKeyOverride?: string, nonce?: string): Promise; persistResult(result: RenderResult, slug: string, ctx: RenderContext, colorScheme?: "light" | "dark", cacheKeyOverride?: string, nonce?: string): Promise; clearForContext(ctx: RenderContext): Promise; clearForProject(projectId: string): Promise; clearSlug(slug: string, ctx: RenderContext): Promise; clearAll(): Promise; destroy(): Promise; getStats(): { size: number; }; private getCacheKey; private isExpired; private isStaleUsable; private shouldServeStale; private cloneResult; } //# sourceMappingURL=context-aware-cache.d.ts.map