import { type MaterialErrorFor, type MaterialGenerationVector, type Result } from '@forgeax/engine-types'; export type { MaterialGenerationVector } from '@forgeax/engine-types'; export interface MaterialCachedArtifact { readonly bytes: Uint8Array; } export type MaterialStaleGenerationError = MaterialErrorFor<'material-specialization-stale-generation'>; export declare class MaterialGenerationCache { #private; resolve(materialGuid: string, specializationKey: string, load: () => Promise, publicationGeneration?: number): Promise; linkResolved(materialGuid: string, specializationKey: string): void; getResolvedKey(materialGuid: string): string | undefined; storeArtifact(key: string, artifact: MaterialCachedArtifact): void; getArtifact(key: string): MaterialCachedArtifact | undefined; bump(dependency: string): number; generationError(materialGuid: string): MaterialStaleGenerationError | undefined; loadWithGeneration(materialGuid: string, dependencies: readonly string[], load: (generation: MaterialGenerationVector) => Promise<{ readonly generation: MaterialGenerationVector; readonly value: T; }>): Promise>; private trackDependencies; private removeResolved; private material; private vector; } //# sourceMappingURL=generation-cache.d.ts.map