import { RenderResult } from '../types.js'; export interface CachedPage extends RenderResult { readonly key: string; readonly bitmap: ImageBitmap | HTMLCanvasElement; readonly byteSize: number; lastAccessed: number; } export declare class PageCache { private cache; private totalBytes; private readonly maxBytes; constructor(maxBytes?: number); get(key: string): CachedPage | null; set(key: string, page: CachedPage): void; has(key: string): boolean; delete(key: string): void; clear(): void; get bytes(): number; get size(): number; shrinkTo(targetBytes: number): void; /** Drop least-recently-used pages down to a fraction of the budget. */ trim(fraction?: number): void; private dispose; } /** * Build a cache key for a rendered page. */ export declare function makeCacheKey(format: string, pageIndex: number, zoom: number, rotation: number, dpr?: number): string; /** Estimate the byte size of an ImageBitmap or canvas. */ export declare function estimateBitmapByteSize(width: number, height: number, dpr?: number): number;