import { RawTexture } from "@babylonjs/core/Materials/Textures/rawTexture.js"; import type { Scene } from "@babylonjs/core/scene.js"; import type { TextureProgram } from "@skenora/contracts"; import { type CompiledTextureProgram } from "@skenora/procedural"; export interface GeneratedTextureLease { readonly key: string; readonly hit: boolean; readonly texture: RawTexture; readonly compiled: CompiledTextureProgram; release(): void; } export interface GeneratedTextureCacheSnapshot { readonly maxEntries: number; readonly size: number; readonly hits: number; readonly misses: number; readonly evictions: number; readonly entries: readonly Readonly<{ key: string; references: number; width: number; height: number; }>[]; } /** Runtime-owned cache for deterministic generated texture resources. */ export declare class GeneratedTextureCache { #private; constructor(scene: Scene, maxEntries?: number); acquire(program: Readonly): GeneratedTextureLease; snapshot(): GeneratedTextureCacheSnapshot; dispose(): void; } //# sourceMappingURL=generated-texture-cache.d.ts.map