import { type GpuProgramCacheSnapshot, type GpuProgramIdentity, type MaterialProgram, type RuntimeBackendId } from "@skenora/contracts"; import { type MaterialProgramGlslArtifact } from "@skenora/procedural/emitters"; import { type CompiledMaterialProgram } from "@skenora/procedural"; export interface PreparedGpuProgram { readonly identity: GpuProgramIdentity; readonly key: string; readonly hit: boolean; readonly compiled: CompiledMaterialProgram; readonly artifact: MaterialProgramGlslArtifact; } /** Runtime-owned bounded LRU over generated structural GPU artifacts. */ export declare class GpuProgramCache { #private; constructor(backend: RuntimeBackendId, maxEntries: number); prepare(program: Readonly): PreparedGpuProgram; snapshot(): GpuProgramCacheSnapshot; dispose(): void; } //# sourceMappingURL=gpu-program-cache.d.ts.map