import ProjectInfoItem from "../info/ProjectInfoItem";
import Project from "../app/Project";
import IProjectInfoGenerator from "../info/IProjectInfoGenerator";
import IProjectUpdater from "../updates/IProjectUpdater";
import ProjectUpdateResult from "../updates/ProjectUpdateResult";
import ProjectInfoSet from "../info/ProjectInfoSet";
import ContentIndex from "../core/ContentIndex";
import ProjectItem from "../app/ProjectItem";
/**
 * Validates and updates format versions across various Minecraft definition types.
 *
 * @see {@link ../../../public/data/forms/mctoolsval/formatver.form.json} for topic definitions
 */
export default class FormatVersionManager implements IProjectInfoGenerator, IProjectUpdater {
    id: string;
    title: string;
    performPlatformVersionValidations: boolean;
    getUpdaterData(updaterId: number): {
        title: string;
    };
    summarize(info: any, infoSet: ProjectInfoSet): void;
    generate(project: Project, content: ContentIndex): Promise<ProjectInfoItem[]>;
    checkVersions(ver: number[] | undefined, currentVersion: string[], infoItems: ProjectInfoItem[], pi: ProjectItem, typeString: string, identifierOffset: number, allowHigherVersions?: boolean): boolean;
    update(project: Project, updateId: number): Promise<ProjectUpdateResult[]>;
    getUpdateIds(): number[];
    updateBaseGameVersionToLatestVersion(project: Project): Promise<ProjectUpdateResult[]>;
}
