import ProjectInfoItem from "./ProjectInfoItem";
import ProjectInfoSet from "./ProjectInfoSet";
import IProjectInfoGenerator from "./IProjectInfoGenerator";
import Project from "../app/Project";
import ContentIndex from "../core/ContentIndex";
export declare enum TextureInfoGeneratorTest {
    tooManyTextureHandles = 100,
    textures = 101
}
/**
 * Validates texture references and aggregates texture usage information.
 *
 * @see {@link ../../public/data/forms/mctoolsval/texture.form.json} for topic definitions
 */
export default class TextureInfoGenerator implements IProjectInfoGenerator {
    id: string;
    title: string;
    performAddOnValidations: boolean;
    summarize(info: any, infoSet: ProjectInfoSet): void;
    /**
     * Cache for Database.matchesVanillaPath() results across calls.
     * The same texture paths are checked many times; caching eliminates redundant folder I/O.
     */
    private _vanillaPathCache;
    /**
     * Cached version of Database.matchesVanillaPath() that avoids repeated folder I/O
     * for the same texture path.
     */
    private _matchesVanillaPathCached;
    generate(project: Project, contentIndex: ContentIndex): Promise<ProjectInfoItem[]>;
}
